Debuggen im AVR-Studio

Gast #352463
Lesenswert?

Tach auch.

Es soll mit Hilfe des Avr-Studios ein mit AVR-GCC compilierter Code
debuggt werden (auf einen atmega16). Verwendet wird das Evertool JTAG
ICE- Interface. Die Software ist auf dem neusten Stand.
Das Debuggen funktioniert zwar, jedoch mit wesendlichen
Einschränkungen, dazu gehört das nicht auslesen können von
Strukturvariablen (es wird immer „not in scope“ angezeigt), sowie das
Ingonieren von Breakpoints in Interruptfunktionen.

Ich bin wie folgt vorgegangen:
-  In der Makefile stellte ich die Optimierung auf 0.
-  Es wurde eine Cof mit dem extcoff Befehl erstellt. Dabei wurden
Warnungen angezeigt (siehe Anhang).
-  Die Cof-Datei wurde in das Avr-Studio geladen. Die Kommunikation mit
dem JTAG-Interface funktioniert einwandfrei, es kam jedoch zu einigen
anderen Fehlern (siehe Anghang). Die Projektdateien wurden bis auf
bohrer.c und timer.c nicht geladen.
-  Anders sah es bei der Elf-Datei aus. Hier wurden alle Projektdateien
angezeigt, es konnten Brekpoints gesetzt und Variablen abgerufen
werden, jedoch mit den anfangs erwähnten Einschränkungen.

Zusätzlich zu den Fehlermeldungen habe ich dem Anhang noch den Code
beigelegt, in der Hoffnung, dass es bei der Fehlersuche weiterhilft.

Vielen Dank schon mal für eure Mühen.
Angehängte Dateien:
Gast #352465
Lesenswert?

So wie es aussieht, kann ich die Fehler bei der Cof-Datei Erzeugung
ingnorieren, da auch mit der Elf-Datei gearbeitet werden kann.

Das Problem mit den Interrupts ist mittlerweile gelöst, was aber
weiterhin nicht funktioniert ist das Auslesen von Strukturvariablen, es
wird stets "not in scope" angezeigt.
Gast #352466
Lesenswert?

Auch das letzte Problem ist nun gelöst. Es muss die Struktur an sich,
und nicht das Member beobachtet werden. Im Watch-Fenster können dann
die einzelnen Mitgleider "aufgeklappt" werden.

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