Pfade für AsuroFlash einstellen
Servus Leute,
ich würde gerne die eierlegende Wollmilchsau von Osser verwenden, aber ich glaube ich hab ein Problem mit den Pfaden.
Noch nicht einmal das einfachste Programm lässt sich compilieren.
So sieht es bei mir nach "make all" aus:
>Session Environment Variables:
AF_AVRDIR=C:\WinAVR-20100110
AF_PROJECT=Project1
AF_SOURCE_FILES=gruen.c
AF_ASM_SRC_FILES=
AF_PRGDIR=C:\Uli\Asuro\AsuroFlash
AF_PRJDIR=C:\Uli\Asuro\Testeinfach
AF_ASM_SRC_FILES=C:\ProgramData\AsuroFlash\asuro-lib\lib\inc\asuro.h
AF_ASURO_LIB_PATH=C:\ProgramData\AsuroFlash\asuro-lib\lib
File gruen.c saved.
>Default make_all.cmd file created.
>Default makefile created.
Make
C:\Uli\Asuro\Testeinfach>C:\WinAVR-20100110\utils\bin\make.exe clean
set -e; avr-gcc -MM -mmcu=atmega168 -DF_CPU=16000000UL -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=gruen.lst -IC:\Uli\Asuro\AsuroFlash\include gruen.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > gruen.d; \
[ -s gruen.d ] || rm -f gruen.d
-------- begin --------
rm -f Project1.hex
rm -f Project1.eep
rm -f Project1.obj
rm -f Project1.cof
rm -f Project1.elf
rm -f Project1.map
rm -f Project1.obj
rm -f Project1.a90
rm -f Project1.sym
rm -f Project1.lnk
rm -f Project1.lss
rm -f gruen.o C:\ProgramData\AsuroFlash\asuro-lib\lib\inc\asuro.h
rm -f C:\ProgramData\AsuroFlash\asuro-lib\lib\inc\asuro.h gruen.lst
rm -f gruen.s
rm -f gruen.d
Errors: none
-------- end --------
C:\Uli\Asuro\Testeinfach>C:\WinAVR-20100110\utils\bin\make.exe all
set -e; avr-gcc -MM -mmcu=atmega168 -DF_CPU=16000000UL -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=gruen.lst -IC:\Uli\Asuro\AsuroFlash\include gruen.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > gruen.d; \
[ -s gruen.d ] || rm -f gruen.d
-------- begin --------
avr-gcc --version
make: *** No rule to make target `Project1.hex', needed by `all'. Stop.
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ExitCode 2
Den Pfad: AF_ASM_SRC_FILES=C:\ProgramData\AsuroFlash\asuro-lib\lib\inc\asuro.h
, habe ich selbst gesetzt, weil er ursprünglich nicht angegeben war.
Findet jemand den Fehler?
Liste der Anhänge anzeigen (Anzahl: 1)
Liste der Anhänge anzeigen (Anzahl: 2)
Heute habe ich mal wieder etwas herumprobiert:
Endlich habe ich bemerkt, daß ich die Datei asuro.h in das Projektverzeichnis kopieren muß. Die Pfade sollten jetzt stimmen. Die Default Datei, bei der nacher die StatusLED grün brennt wurde ohne Fehlermeldung compiliert.
Jetzt habe ich das erste Testprogramm aus der alten Asuro Doku abgetippt und bekommen dann die angehängten Fehlermeldungen.
Das Projekt hänge ich auch noch an. Villeicht weiss ja jemand, wo mein Problem liegt.
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Jack aus BW,
zum vorletzten Post:
Du hast die Datei asuro.h eingebunden in das Projekt. Header werden aber durch die 'c' Dateien via #include eingebunden und können nicht direkt compiliert werden.
zum letzten Post:
Als Erstes muss auch asuro.c in das Projekt eingebunden werden, da sonst asuro.h nur eine leere Hülle darstellt.
Irgentwie war meine ATMega8.afcfg nicht in Ordnung, probier mal die Datei die ich Angehängt habe. Danach hat sich bei mir alles ohne Fehler compilieren lassen.
Die ATMega8.afcfg steht Standardmässig in %AllUsersProfile%\AsuroFlash\Config
Evtl. stimmt der AVR lib Pfad noch nicht, stell den dann im Config Fenster ein auf deinen Pfad ein.
Bild hier
Gruss,
O.
Liste der Anhänge anzeigen (Anzahl: 2)
Servus Osser, Danke erstmal dass du die die Mühe gemacht hast den Beitrag zu beantworten. Ich wünsch dir erstmal alles Gute für 2011.
Ich hab jetzt folgendes gemacht:
Die Datei ATMega8.afcfg die du mir geschickt hast, ins Config Verzeichnis von AsuroFlash kopiert, nachdem ich die alte Version zuvor gelöscht hatte.
Die Datei asuro.h aus meinem Projekt entfernt, allerdings verbleibt eine Kopie der Datei im Projektordner. asuro.h wird ja über include eingebunden. Der Pfad für die Asuro.lib ist, wie du beschrieben hast, bei mir gesetzt.
Das Projekt besteht jetzt also noch aus new.c und asuro.c. Ist damit asuro.c richtig eingebunden?
Dann hab ich "make all" gedrückt und eine Latte von Fehlermeldungen bekommen. Ich hänge das Projekt und den Ausdruck der Fehlermeldungen nochmal an. Ich hab immer noch keine Ahnung, was ich falsch mache. Wenn ich die Fehlermeldungen richtig interpretiert hab, wurde new.c jetzt ohne Fehler compiliert, aber bei asuro.c hagelt es Fehlermeldungen. Hat es mir die Datei asuro.c irgedwie verbogen??
Liste der Anhänge anzeigen (Anzahl: 2)
Servus Osser,
ich hab das mal probiert, aber es hat immer noch nichts geholfen.
Beim letzten Versuch habe ich
asuro.h
asuro.c
myasuro.h
in dasselbe Verzeichnis kopiert, in dem auch das Projekt steht.
Jetzt lässt sich asuro.c garnichtmehr compilieren. Mir ist noch aufgefallen, daß die Variable AF_ASM_SRC_FILES= nicht definiert ist. Kann das mein Problem sein? Wie setze ich diese Variable?
Kannst du mir vielleicht mal so ein "Einfachprojekt" als Kopie schicken, dann versuch ich hier mal das zu compilieren.
Ich hänge das Projekt und die Fehlermeldungen mal wieder mit an.