Forum: Mikrocontroller und Digitale Elektronik AvrStudio, Debuggen in der Bootloader Section


von Frank W. (Firma: DB1FW) (frankw) Benutzerseite


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

von Krapao (Gast)


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?

von Krapao (Gast)


Lesenswert?

Amforth sollte doch eigentlich den Atmega32 unterstützen. Habe ich da 
was falsches im Kopp oder machst du was Spezielles?

von Frank W. (Firma: DB1FW) (frankw) Benutzerseite


Lesenswert?

> Dein Bootloader sind scheinbar der Forth-Kernel.

Genau so ist es. Sicher kann ich die Kernelfunktione im Sumulator testen 
- und muss es wohl auch so tun. Es währe einfach schöner gewesen alles 
auf der Original-HW zu testen.

Merci

Frank

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.