PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : datei nicht in hex sondern in bin



pebisoft
29.08.2005, 19:58
wie kann man eine datei in winavr-c nach bin comp.
zur zeit bekomme ich immer hex-dateien.
mfg pebisoft

sep
29.08.2005, 21:45
ist das ein Problem? wer will den Binärdateien?

Es gibt jedenfalls massig Konvertierungsprogramme (ich kann dir sogar eines schreiben, die erste Hälfte hab ich eh schon... :D ) -> Google ist dein Freund!

Andun
30.08.2005, 18:28
Also mit WinAVR kannst du meiner Meinun nach keine .exe erstellen. Das meinst du doch mit bin, oder???

Weil sonst versteh ich nicht was du willst.

Also du kannst im target im makefile halt nohc was rumstellen, aber keine .exe. Die ist dann nicht Win32 fähig.

SprinterSB
30.08.2005, 21:19
Das von avr-gcc generierte elf packst du mit avr-objcopy an (Schalter -O):

avr-objcopy: supported targets: elf32-avr coff-avr coff-ext-avr elf32-little elf
32-big srec symbolsrec tekhex binary ihex
avr-objcopy --help
also etwa:


avr-objcopy -j .text -j .data -O binary foo.elf foo.bin

sep
31.08.2005, 07:53
:D steht das in irgedneiner doku, oder muss man dazu einfach jemanden fragen, der sich auskennt?


Also mit WinAVR kannst du meiner Meinun nach keine .exe erstellen. Das meinst du doch mit bin, oder?

Nein, er meint schon "bin" - das ist im Gegensatz zu hex etwas schlanker.
im (intel-) Hexformat stehen noch Checksummen, Steuerzeichen und Zieladressen. Sehr praktisch zum flashen von µCs.
"Bin" ist wirklich nur der reine Programmcode, so wie er nachher im RAM liegt, also insofern schon vergleichbar mit einer .exe-Datei. Nur halt für einen AVR, nicht für x86

SprinterSB
31.08.2005, 10:25
:D steht das in irgedneiner doku, oder muss man dazu einfach jemanden fragen, der sich auskennt?
Also bei mir hat ein Blick ins Makefile genügt und dann das große Orakel avr-objcopy mit --help (Konvention bei vielen GNU-Tools) zu befragen ;-)

pebisoft
02.09.2005, 07:51
in der make kann man statt ihex das andere wort für bin reinsetzen, winavr-c erstellt aber keine bin.
mfg pebisoft

SprinterSB
02.09.2005, 08:26
Die Ausgabe von avr-gcc ist asm (also ASCII Klartext). Bei nem 'normalen' Compiler-Lauf wir dann noch implizit avr-as aufgerufen, der assembliert und ein Objectfile im elf32-Format liefert, ebenso der Linker/Locator (avr-ld).