C jtag ice 3

avr_newbie

Mitglied
13. Apr. 2013
127
0
16
Bayern
Sprachen
  1. ANSI C
Hallo,

ich bin am überlegen, mir den jtag ice 3 zu kaufen....
Jetzt hab ich allerdings noch eine Frage, welche Möglichkeiten es gibt, den Debugger anzuschließen.

So viel ich gelesen/verstanden? habe, kann man über die ISP-Ports debuggen? Ist das richtig? - Muss dann an den Fuse-Einstellungen irgendwas geändert werden?

Wenn ich die JTAG-Ports nehme (damit meine ich TCK/TMS/TDO/TDI + Vcc/GND + Reset) - muss ich dann bei den Fuse Einstellungen JTAGEN setzen? - Was ist der Vorteil, mit diesen Ports zu debuggen?

Bisher habe ich keinen Debugger benötigt - da ich bisher einfach ohne zurecht gekommen bin.
Mittlerweile ist das Projekt allerdings schon so groß, dass ein Debugger schon gut wäre (Bisher war mein "debuggen" eben Testausgaben auf dem Display).

Danke.

mfg
 
Hmm..

generell scheint der ICE3 zu unterstützen:
  • serielles programmieren
    • SPI
    • PDI (XMega)
  • debuggen
    • Jtag (10Pin)
    • Jtag (SWD)
    • dWire
    • aWire (32bit-AVR ?? )
wobei grundsätzlich auch über den Debugger programmiert werden kann.
Ich habe bisher lediglich über SPI und TPI (scheint er nicht zu können) programmiert (und mit HV-TPI experimentiert), und ähnlich wie Du über direkte Ausgaben debuggt (allerdings eher über UART oder toggelnde Beine) - Oldmax hatte ja auch mal so'n Projekt, wo in Software alle möglichen "Variablen" via UART ausgegeben werden können...

mit dWire hatte TommyB sich mal beschäftigt, mit 'nem Dragon...

Da dWire und SPI dieselbe Reset-Leitung nutzen (SPI um den Programmiermodus einzuleiten (vereinfacht gesagt), dWire auch als Datenleitung), schliessen die sich gegenseitig aus. Wurde der konkrete Ziel-AVR also auf dWire eingestellt, kann er via SPI nicht mehr programmiert, und insbesondere auch nicht auf SPI-Programmierung zurückgesetzt werden. Aber dazu kann Thomas sicher mehr sagen.

Über Jtag (beide), aWire und PDI kann ich Dir erst recht nichts sagen.

P.S.: ich meine mich zu erinnern, daß jede "Änderung" über dWire (->Breakpoints umsetzen/weitermachen etc ?? ) 'nen Neuprogrammieren im Flash darstellt - andererseits gilt das ja für das komplette Neuprogrammieren aufgrund einer Änderung via SPI auch...
 
Ergänzend zu LotadaC ...

Also Programmieren via TPI geht auch, debuggen nicht.

Viele Informationen zum Programmer/Debugger und den unterstützten Mikrocontrollern und Schnittstellen findet man in der Hilfe vom AtmelStudio.


  • Programming and on-chip debugging of all Atmel AVR 32-bit microcontrollers on both JTAG and aWire interfaces.
  • Programming and on-chip debugging of all Atmel AVR XMEGA family devices on both JTAG and PDI 2-wire interfaces.
  • Programming (JTAG and SPI) and debugging of all Atmel AVR 8-bit microcontrollers with OCD support on either JTAG or debugWIRE interfaces.
  • Programming and debugging of all Atmel SAM ARM® Cortex®-M based microcontrollers on both SWD and JTAG interfaces.
  • Programming (TPI) of all Atmel tinyAVR 8-bit microcontrollers with support for this interface.
Dirk :ciao:
 
Ja, ich nutze den AVRdragon.

Wichtig ist aber vor allem die Programmiersprache. Wobei ich hier jetzt nur etwas zu debugWire sagen kann. Das ist leider immer noch unter "verschluss" und kann nur aus dem AVR Studio genutzt werden, also ist man auf C oder ASM limitiert. Bascom, LunaAVR, ... Nutzer schauen in die Röhre.

Das Debuggen selbst ist sehr angenehm. Du kannst dir überall Haltepunkte setzen ohne den Source zu verändern, einmal angehalten kannst du den Inhalt vom AVR komplett sehen (Register, RAM, EEPROM) und auch steuern (inklusive I/O Ports). Vom Prinzip also genau so wie im Simulator des AVR Studio, nur dass es live auf echter Hardware läuft. Allerdings gehen einige (nicht alle) Funktionen auf die Lebensdauer des Flashes. Wobei ich aber sagen muss dass ich mir noch nie einen Chip kaputt debuggt habe. Und ich nutze seit Jahren immer den selben AVR zum testen. Ich würde sagen das man das zwar im Hinterkopf behalten sollte, aber eigentlich vernachlässigen kann.

Wie LotadaC schon sagte, debugWire muss per Fuses aktiviert werden. Dann ist mit ISP ende, da darüber das debugWire läuft (du bräuchtest quast nur noch VCC, GND und Reset anzuschließen). Darüber wird dann auch der Flash beschrieben. Wie das bei JTAG ist weiß ich nicht, ich hatte nie einen Chip der das hatte.

Man sollte aber wenn man fertig ist mit debuggen das debugWire deaktivieren dass man wieder per SPI drauf zugreifen kann. Außerdem sind sämtliche stromsparenden Funktionen (Sleep-Modes) deaktiviert sobald das aktiv ist. Wird vermutlich bei JTAG ähnlich sein.


p. S. @LotadaC: dW kann man wieder deaktivieren ;)
Natürlich aus dW selbst, aber auch entweder über HV oder aber auch über SPI. Ich weiß jetzt nicht mehr welcher Uploader im LunaAVR drin ist, aber der kann das temporär deaktivieren (bis zum nächsten power cycle), sprich danach kommst du ganz normal wieder per SPI drauf und kannst die Fuse ändern.
 
Ja, ich nutze den AVRdragon.
..
Wie LotadaC schon sagte, debugWire muss per Fuses aktiviert werden. Dann ist mit ISP ende, da darüber das debugWire läuft (du bräuchtest quast nur noch VCC, GND und Reset anzuschließen). Darüber wird dann auch der Flash beschrieben. Wie das bei JTAG ist weiß ich nicht, ich hatte nie einen Chip der das hatte.

Man sollte aber wenn man fertig ist mit debuggen das debugWire deaktivieren dass man wieder per SPI drauf zugreifen kann. Außerdem sind sämtliche stromsparenden Funktionen (Sleep-Modes) deaktiviert sobald das aktiv ist. Wird vermutlich bei JTAG ähnlich sein.
....


Sorry, dass ich jetzt nochmal so "dumm" frag .... (ich sollte mir das Ding jetzt besser einfach mal zulegen - dann kann ich rumprobieren :) )

Wenn ich debugWire aktiviere (Fuse DWEN gesetzt), dann kann ich über den JTAG-ICE debuggen.... wenn ich fertig mit debuggen bin, kann ich dann über den JTAG-ICE das Fuse-bit (DWEN) wieder löschen?, damit ich wieder über SPI programmieren kann?
 
was mich auch noch interessieren würde

was ist der Unterschied zwischen JTAG-ICE mk2 und dem "mk3" ?

Den mk2 gibt es (soviel ich glesen habe, schon länger?), kostet aber um die 310 Euro - also wesentlich teurer
Der mk3 kostet um die 100 Euro

Der einzige Unterschied den ich herausgefunden habe ist, dass der mk2 auch unter den älteren AVR-Studio-Versionen läuft? ....
 
Zu dem JTAG ICE kann ich dir nicht helfen. Das Gerät war für mich nie attraktiv. Zugegeben dem Dragon sollte man noch n Gehäuse basteln, aber das ist ja schnell gemacht.
Egal.

Also wenn debugWire aktiv ist hast du keinen Zugriff mehr auf die Fuses (höchstens noch über HVPP / HVSP). Aber du kannst im Studio selbst via dW das Debuggen beenden (ist ein Menüpunkt) dann wird darüber die Fuse wieder gelöscht und du kannst wieder ganz normal über SPI drauf zugreifen.

Bei JTAG wird es vermutlich ähnlich sein.

Und hey, jeder hat mal klein angefangen :)
Nur die die nicht fragen sind (und bleiben) dumm.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)