Forum: Mikrocontroller und Digitale Elektronik *.elf != *.hex - warum läuft der Bootloader unterschiedlich?


von AVR-Tüftler (Gast)


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?

von AVR-Tüftler (Gast)


Lesenswert?

ich hab noch ein bisschen rumprobiert ...

könnte es an der Verwendung  von globalen Variablen liegen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.