*.elf != *.hex - warum läuft der Bootloader unterschiedlich?

Gast #1928091
Lesenswert?

Hallo Leute!

Ich versuch mich gerade mit dem "universal bootloader" siehe auch:
http://sites.google.com/site/shaoziyang/Home/avr/avr-universal-bootloadere

Hier wird zwar ein Makefile usw. mitgeliefert, aber ich will das Projekt 
trotzdem im AVRStudio & debuggen (JTAG ICE MKII ).

uC: ATMEGA1281
Bootloader-Adresse: 0xF000 (für 4k Worte Code)

Um den Bootloader auf den gewünschten Bereich zu setzen, hab ich dem gcc 
diese Optionen noch mit auf den Weg gegeben:
-Ttext=0x1E000
-nostartfiles

Nun also über den "Build and Run"-Button im AVRStudio per JTAG aufs 
Target laden und das Programm läuft. Applikation per Bootloader laden 
geht - alles prima.

Problem:
Wenn ich das gleichzeitig erzeugte *.elf nutzen will, um das gleiche mit 
einem AVRISP MKII zu flashen - dann sieht man am LED-Blinken zwar, dass 
der Bootloader läuft, aber er reagiert einfach nicht mehr auf das 
XModem-Protokoll.

Das Komische ist also, mit Debugger laden funktioniert - mit ISP laden 
funktioniert nicht :(

Was macht das elf anders als der Debugger?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren