mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Doku über OnChip-Debugging


Autor: Karlheinz Druschel (kdruschel)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leuts,

ich habe so einige Problemchen beim OnChip-Debuggen.
Ich benutzte GCC und AVR-Studio zusammen mit dem Amtle JTAG-ICE MKII 
(USB).

Wenn ich im Studio das Debuggen starte, dann brauche ich meist bis zu 5 
Versuchen bis er überhaupt mal startet. Er erkennt meist den JTAG-MKII 
nicht, manchmal muss ich den kopmplettenb PC neu starten.  Beim reinen 
Programmieren des Chips habe ich diese Probleme seltsamerweise nicht.

Ich habe auch den Olimex AVR-JTAG-USB, aber da kann ich 
(seltsamerweise?) gar nicht debuggen, den kann ich nur zum programmieren 
nutzen.

Lokale Variablen, die also auf dem Stack liegen, kann ich mir im Watch 
Window nicht anschauen.

Aber ein <uint8_t LgAnswer[10]> Array kann ich mir auch nicht 
anschauen...
Wie soll man denn da vernünftig debuggen ?
Gibts denn irgendwo im Netz vernünftige Infos über den Umgang mit 
AVR-Studio und JTAG-MKII beim Debuggen ?

Greets
Karlheinz

Autor: Karlheinz Druschel (kdruschel)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und schon steht das nächste Problem an:
Laut Watch-Fenster hat die Variable <DataByte> den Wert von 0x00, die If 
Abfrage(if (((DataByte >= 0x20) && (DataByte <= 0x7f)) && p0 < 
SIZE_ANSWER_BUFFER)) müsste also übersprungen werden.
Tatsächlich bleibt der Debugger jedoch am Breakpoint stehen....

Kann man mit dem AVR-Studio denn vernünftig debuggen ?

Autor: M. M. (miszou)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

zu der IF Abfrage, ich seh da keinen Fehler.

Abfrage(if (((DataByte >= 0x20) && (DataByte <= 0x7f)) && p0 <
SIZE_ANSWER_BUFFER) geprüft.
Alles was zwischen den Klammern dieser Abfrage wird nicht ausgeführt.

if (DataByte == ETX) wird als nächstes geprüft sobald der nächste 
Schritt nach deinem Breakpoint ausgeführt wird.

Gruß
MISZOU

P.S.: Ich möchte nicht mehr auf mein JTAG verzichten

Autor: Karlheinz Druschel (kdruschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups, so gesehen hast Du natürlich recht. Sorry für meine Blödheit.
Aber darum gehts mir ja auch nicht, es geht mir nach wie vor um den 
JTAGICE.
Wo kann ich denn beispielsweise mal anchlesen, dass Stackvariablen nicht 
im Watch-Window angezeigt werden können ?
Wo steht, wie ich mir ein INT-Array im RAM anschauen kann ?

Auch Onkel Google hat mir hier nicht wirklich geholfen bisher.......

Autor: M. G. (looking)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du fürs Debuggen vor einer lokalen Variable "volatile" 
hinschreibst, dann müsste der Wert bei einem Breakpoint innerhalb der 
Funktion angezeigt werden können.

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...RTFM und kieke mal ob Du die Debug-Plattform und uC-Typ richtig 
eingestellt hast.

Angaben über die version von AVRstudio + Winavr sowie Deine Target-CPU 
wären essentiell.

Wenn Du evtl. einen atmega128 debuggen wollst und auf dem noch die 
atmega103 compatibility-fuse gesetzt ist, haste auch pech.

wie sieht es mit den CLKSEL-fuses aus ? und mit wievielen megahertzen 
schlägt deine uC-HW ?

wenn das alles nun richtig steht und du die richtige 
kommunikationsschnittstelle fürs jtag-ice ausgewählt hast sollte es 
stabil debuggen (es sei denn du hast einen externen watchdog-chip in 
deinem HW-design, der periodisch am Reset zieht weil er nicht getriggert 
wird...).

gruss, tom.

Autor: Karlheinz Druschel (kdruschel)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Was heisst "RTFM" ?
Ich habe hier AVR-Studio 4.14, Build 589 und einen ATMega128 mit 16 MHz.
Seit zwei Tagen erkennt das Studio beispielsweise mal wieder nicht den 
Jtag zum Debuggen, aber ein Programm einfach nur in´s Flash brennen geht 
problemlos.
Nach 2-3 erfolglosen Versuchen das Debuggen zu starten, erscheint meist 
im Messagefenster die Meldung "JTAGICE mkII:USB Connection skipped. Each 
Instance of AVR Studio can have only one active USB device at a time".
Dabei läuft das Studio nur einmal!
Ich habe auch schon das OCDEN-Bit getoggelt, bringt aber nichts.

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.