www.mikrocontroller.net

Forum: Compiler & IDEs Debuggen mit GDB und AVR-JTAG


Autor: M. Longobardi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst entweder AVRStudio oder gdb nehmen, was Dir lieber ist.
Ich habe das hier schonmal zusammengeschrieben:

http://www.mikrocontroller.net/forum/read-2-98425.html#98468

Wichtig: neues WINAVR, ich nehme den von April 2004.

C-Debug ist einfach ur cool mit dem JTAG, ich nehme im Moment den
AVRStudio, will gdb aber auch nochmal antesten.

Stefan

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht stellst Du das ja mal ins Wiki?

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte ich vielleicht nicht nur anderen vorschlagen ;-)
Ich werde mich mal dransetzen ...

Stefan

Autor: Frank Wallenwein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank Wallenwein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ist dieser ICE Nachbau selten im Einsatz.

Das ist absolut kein Problem des ICE oder seines Nachbaus.

Wie gesagt, kann sein, dass das mkII das Problem unter AVR Studio
nicht mehr hat.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.