Debuggen mit GDB und AVR-JTAG

Gast #176952
Lesenswert?
• ▲
▼
Ich habe mir vor kurzen einen AVR-JTAG-ICE Nachbau angeschaft und hatte
die Vorstellung ganz einfach C-Source-Code Debugging in der
Zielhardware durchführen zu können.
Ich wollte winavr und das AVR-Studio verwenden.
Jetzt habe ich gelesen, dass man dafür GDB und weitere Tools verwenden
muss.
Weis jemand ob es hierfür ein Tutorial nach der Art "Debugging for
Dummies" gibt ?
Gast #176956
Lesenswert?
• ▲
▼
Hallo Forum,

vielleicht kann mir hier jemand helfen.
Ich nutze auch einen AVR-JTAG-ICE Nachbau.

Programmiert wird ein Mega32 mit GCC. Das Debuggen habe ich mit
mit avr-gdb und mit Avr-Studio ausprobiert.

Prinzipiell geht das debuggen auch gut. Wenn ich allerdings eine
oder mehrere Interruptroutinen in meinem Programm verwende, dann
hällt der Debugger andauernd "von selbst" in der Interruptroutine an.

Einen Breakpoint habe ich dort nicht gesetzt.

Wenn ich also eigentlich irgenwo ganz anderes im Programm debuggen
will, dann passiert es permanent, dass der Debugger in einer Interrupt
Routine anhält, als ob er auf einen Breakpoint gestossen wäre. Ich kann
dort auch schön steppen, Variablen anschauen usw.
Ich will aber nicht jedesmal, wenn ein Timer überläuft oder wenn die
serielle Schnittstelle ein Zeichen sendet, unterbrochen werden.

Kennt jemand diese Phänomen und hat eine Idee wie
ich das umgehen kann  ?

Danke und Gruss
Frank
Moderator Persönliche Seite #176957
Lesenswert?
• ▲
▼
> Prinzipiell geht das debuggen auch gut. Wenn ich allerdings eine
> oder mehrere Interruptroutinen in meinem Programm verwende, dann
> hällt der Debugger andauernd "von selbst" in der Interruptroutine
> an.

Das aktuelle AVaRICE kennt eine Aufrufoption -I, die genau das
verhindert.  Ist als experimentell gekennzeichnet, tut aber für mich
ganz gut.

Für AVR Studio wundert mich das, eigentlich hat das eine andere
Strategie für single-step.  Kann aber sein, dass die erst beim JTAG
ICE mkII implementiert worden ist.
Gast #176958
Lesenswert?
• ▲
▼
Danke für den Tipp mit der Aufrufoption -I.

Habe es gestern mal kurz ausprobiert - so ganz scheint das noch
nicht zu funktionieren. Vielleicht sollte ich es mal mit einer
neue avarice Version probieren.

Was mich wundert, ist dass dieses Problem nicht schon 1000 Mal
in Foren angefragt wurde. Wie Debuggt Ihr denn. Ich zumindest, kann den
Debugger durch dieses Problem praktisch nicht verwenden. Benutzt Ihr
keine Interrupt Routinen oder ist dieser ICE Nachbau selten im Einsatz.

Kennt Ihr eine "bezahlbares" ICE, das diese Problem nicht hat ?

Danke für Tipps,

Gruss
Frank

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.