PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Makefile



-Hunter-
30.12.2008, 00:41
Hi ihr,
ich habe seit längerem einen Asuro aber mich nie damit beschäftigt...
Jetzt hab ichs geschfft ihn mal zu flashen, aber habe kein makefile?
Ich schaff es nicht fremde Programme in C mit WinAVR zu ner HEx datei zu machen?
Kann mir einer helfen?

oberallgeier
30.12.2008, 08:20
Hallo -Hunter-,

ich programmiere nicht nur den asuro seit über einem Jahr und schreibe die Programme vorwiegend selbst. Anfangs in Assembler, jetzt in C. Ich habe AVRStudio mit WinAVR. Makefiles waren (und sind mir immer noch) ein Rätsel - das erledigt bestens das AVRStudio "selbst" - sogar so, dass ich es garnicht mitbekomme.

Anfangs hatte ich - vermutlich wie Du auch - fremde Programme, z.B. die aus der AREXX-Küche, also von hier, (http://www.arexx.com/arexx.php?cmd=goto&cparam=p_asuro_downloads) einfach übernommen, kompiliert und geflasht, später modifiziert etc. Das hatte immer gut funktioniert WinXPpro, AVRStudio 4, WinAVR. AVRStudio hatte bei mir aber erst mit einer sehr neuen Version (http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725) störungsfrei funktioniert.

Viel Erfolg

-Hunter-
30.12.2008, 12:29
Vielen Dank für deine Antwort.
Also ich hab auch schon oft probiert selbst zu proggen,
mir wurde auch sehr geholfen,
so dass ich die C Grundlagen anfänglich beherrsche und ein kleines Lauflicht schon proggen kann.
Da mein Transceiver leider schrott ist muss ich den uC rausnehmen und progge ihn via Pollinboard.
Gestern wollte ich ein Programm flashen , das ich im Inet gefunden habe...leider nur den C-Code.
aber leider wollte WinAVR mir keine HEX datei machen,
was wohl an dem makefile liegt, das ich nicht habe?

oberallgeier
30.12.2008, 12:58
... leider wollte WinAVR mir keine HEX datei machen, was wohl an dem makefile liegt, das ich nicht habe?Könntest Du bitte mal den "build"-Kommentar posten, also das, was in dem "build"-Fenster des AVRStudio nach dem Kompilieren (Taste [F7]) steht. Das sieht in einem Beispiel bei mir so aus:

Build started 30.12.2008 at 13:48:34
avr-gcc.exe -mmcu=atmega168 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT L168_10.o -MF dep/L168_10.o.d -c ../L168_10.c
avr-gcc.exe -mmcu=atmega168 -Wl,-Map=L168_10.map L168_10.o -o L168_10.elf
avr-objcopy -O ihex -R .eeprom L168_10.elf L168_10.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex L168_10.elf L168_10.eep || exit 0
avr-objdump -h -S L168_10.elf > L168_10.lss

AVR Memory Usage
----------------
Device: atmega168

Program: 3400 bytes (20.8% Full)
(.text + .data + .bootloader)

Data: 514 bytes (50.2% Full)
(.data + .bss + .noinit)


Build succeeded with 0 Warnings...

Da siehst Du auch den automatisch vom AVRStudio für MEINE Einstellungen generierten makefile *gggg* - denn ich hatte mich nie um die Erstellung des makefiles gekümmert. Kann sein, daß bei Dir weniger Kommentar drinsteht oder mehr - aber diese Meldungen helfen dann bei der (Fehler-) Suche.

Mal ein paar - aber triviale - Fehlermöglichkeiten: Prozessortakt nicht angegeben - weder im Code noch im AVRStudio, fehlende Bibliothek(en), Fehler im Code etc etc.

-Hunter-
30.12.2008, 13:33
Also ich hab jetzt alles vom PC aufgeräumt.
Aber das Problem ist,
dass ich einfach keinen Makefile habe.
Woher krieg ich den?
Sry für meine etwas umständliche Fragestellung.

Chrissi_P
30.12.2008, 14:21
Das makefile ist doch auf der CD unter ASURO_src\FirstTry\Makefile
Oder hast du die CD nicht?

oberallgeier
30.12.2008, 20:28
... Sry für meine etwas umständliche Fragestellung.Nun, wir drehen uns ein bisschen im Kreis. Das AVRStudio erstellt seinen makefile automatisch. Das hatte ich ja bereits zweimal geschrieben - ich hatte noch für kein einziges Programm einen makefile geschrieben. Vermutlich brauchst Du auch keinen.

Kannst Du mal das machen, worum ich Dich im vorhergehenden Posting gebeten hatte?