Mir scheint, da ist entweder ein Bug in avr32program oder ich bin
einfach zu dumm, das richtig anzuwenden. Target ist ein AT32UC3A1128,
Adapter ein JTAGICE MCii.
Wenn ich ein .elf-Programm compiliere und es mit avr32program hochlade,
dann funktioniert alles:
1 | avr32program -c USB -pjtagicemkii program -finternal@0x80000000 -v -e --run -R -cint firmware.elf
|
Ich kann den Inhalt des flash-Speichers auch wieder auslesen:
1 | avr32program -c USB -pjtagicemkii read -F bin -o flash.bin -O 0x80000000 -s 131072
|
Dieser Inhalt (flash.bin) ist identisch mit dem binary, das ich aus der
.elf-Datei erzeugen kann:
1 | avr32-objcopy -S -O binary firmware.elf firmware.bin
|
Wenn ich jedoch den AVR32 lösche (erase) und dann dieses mit
avr32-objcopy erzeugte fimware.bin anstatt dem firmware.elf auf dem
controller programmiere...
1 | avr32program -c USB -pjtagicemkii program -finternal@0x80000000 -v -e --run -R -cint -F bin firmware.bin
|
...dann zeigt das Auslesen des flash-Speichers, dass tatsächlich
überhaupt nichts in den flash gespeichert wurde (ist 0xff.. überall)!
Obwohl kein Fehler angezeigt wird.
Mir scheint das ist ein Bug - oder was mach ich da falsch?