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
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 ?
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
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.......
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.
...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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.