AvrStudio, Debuggen in der Bootloader Section

OP (Firma: DB1FW) Persönliche Seite #2568649
Lesenswert?

Hallo zusammen,

ich versuche gerade das amForth ( http://amforth.sourceforge.net/ ) auf 
einem Atmega32 zu installieren und habe Probleme mit dem Debuggen.

Das ganze im AvrStudio-4 übersetzt und auf den Prozessor geflashed.
Debugger gestartet. ( JTAG-ICE MKII )
Debugger bleibt bei Addresse 0 stehen. Perfekt.
Singel Step -> AvrStudio bleibt hängen; Windows sagt "Applikation 
reagiert nicht mehr".

An Addresse 0 steht ein JMP zu einer Funktion im Bootloader Bereich.

Wenn die Funktion aus dem Bootloader Bereich herausnehme und in den 
normalen Programmberich lege, dann klappt alles. Nur nicht, wenn sie im 
Bootloader Bereich liegt.

Sie muss aber im Bootloader Bereich liegen, weil sie das Flash 
umprogrammieren wird.

Hat jemand eine Idee was ich tun kann, um auch im Bootloader Bereich 
debuggen zu können ?

Ich habe einen Artikel gefunden in dem steht, dass debuggen im 
Bootloader nicht gehen soll.  ( 
Beitrag "Re: AVR: Log-Daten in Flash schreiben -- Bootloader nutzen?" )
Ist das die ultimative Wahrheit, oder gibt es doch eine Möglichkeit ?



Danke
Frank
Gast #2568841
Lesenswert?

Direkt Debuggen eines Bootloaders ist IMHO nicht drin. Einen normalen 
Bootloader kann man zweigleisig debuggen:

Den Bootloader als normale Applikation in HW debuggen und dabei die 
Flash-Prog-Funktionen ausklammern bzw. emulieren, wenn es um das 
Laufzeitverhalten im Zusammenspiel mit dem Restcode geht. Wenn der Rest 
des Bootloaders (Kommunikation, Prüfsummen etc.) als Applikation steht, 
springt man ins kalte Wasser und testet die Flash-Prog-Funktionen. Je 
kleiner diese Restroutinen sind, desto besser.

Dein Bootloader sind scheinbar der Forth-Kernel. IMHO keine Chance das 
zweigleisig zu debuggen. Bei der entwicklung des Amforth wurde das 
Programmverhalten im Simulator kontrolliert. Geht das bei deiner 
Anwendung nicht?

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