Mit avr-gcc bzw. WinAVR wird das hex aus einem elf erzeugt, und zwar mittels avr-objcopy. Wie bL1nK schone geschrieben hat, muss man objcopy mit der passenden Option aufrufen. Je nach Makefile/shell-script, das du verwendest, diest die STelle, wo du anpacken musst, anders aus.
Der Aufruf von avr-objcopy muss jedoch so aussehen für den Programm-Code:
Daten im EEPROMCode:avr-obj -j .text -j .data -O binary foo.elf foo.bin
Das kannst du auch kombinieren bzw. neue LMAs (load memoey address) zuordnen und mehrere Sections angeben. Der Bootloader-Code steht in .bootloader.Code:avr-obj -j .eeprom -O binary foo.elf foo_eeprom.bin
Lesezeichen