Forum: Mikrocontroller und Digitale Elektronik JTAG mit Dragon funktioniert nicht


von Markus M. (adrock)


Lesenswert?

Hallo,

um den ATmega644 in der Schaltung debuggen zu können, würde ich gerne 
das JTAG mit dem Dragon zusammen verwenden.

Per ISP kann ich den Controller ohne Probleme programmieren, nur eben 
nicht debuggen (der ATmega644 unterstützt kein DebugWire...).

Wenn ich versuche ihn über JTAG anzusprechen (entsprechende Signale vom 
Dragon zum Controller sind wie in der Anleitung vom AVR Studio verbunden 
und gefühlte 100 mal nachgeprüft), kann er nichtmal die ID über JTAG 
auslesen ("Problem occured..."). Ich habe mal testhalber in die 
Leitungen 4k7 Pullup-Widerstände gesetzt, dann liest er 0xff 0xff 0xff 
aus... also irgendwie scheint der Controller garkeine Signale zum Dragon 
zurückzugeben?

Das gleiche Problem tritt auch mit einem ATmega162 auf.

Die JTAGEN Fuse ist auf beiden "1", daran kann es also nicht liegen.

Der Dragon sowie AVR Studio sind auf den aktuellen Stand.

Irgendeine Idee woran das noch liegen kann?

Ciao...
Markus

von Gast (Gast)


Lesenswert?

Sind auch die OCD Fusebits gesetzt?

von spess53 (Gast)


Lesenswert?

Hi

Der 644 lässt sich mit dem Dragon nicht über JTAG debuggen. Dragon geht 
nur bis 32k Flash.

>kann er nichtmal die ID über JTAG auslesen ("Problem occured...")

Geht auch nur über ISP.

MfG Spess

von M. M. (miszou)


Lesenswert?

Hi

ich glaub nicht, aber ich frage trotzdem mal nach.
Hast du auch von ISP auf JTAG im Programming Mode and Target Setting 
unter dem Reiter Main umgestellt?
Hat nichts mit dem Debugging zu tun aber um die Signatur auszulesen wäre 
es sehr hilfreich.

Gruß MISZOU

@ 32kb mit dem neusten AVR Studio geht auch Xmega mit 128kb, Megas 
konnte ich bisher noch nicht testen.

von Markus M. (adrock)


Lesenswert?

spess53 schrieb:
> Hi
>
> Der 644 lässt sich mit dem Dragon nicht über JTAG debuggen. Dragon geht
> nur bis 32k Flash.

Dann ist aber die Tabelle in der AVR Studio Hilfe unter Dragon -> 
Introduction -> Device support definitiv falsch, dort ist angegeben der 
644er könnte sowohl mit JTAG programmiert als auch debugt werden.

Du hast aber recht, zumindest dass mit der 32k Grenze beim Debuggen 
hatte ich auch schon mal gehört. Erklärt aber nicht, warum es mit dem 
ATmega 162 genausowenig funktioniert hat.

Ciao...
Markus

von Markus M. (adrock)


Lesenswert?

Gast schrieb:
> Sind auch die OCD Fusebits gesetzt?

Naja, zum debuggen werde ich diese benötigen, aber im Moment scheitere 
ich ja schon daran, irgendetwas (Signatur, Programmierung) über JTAG mit 
dem Controller auszutauschen. Und das sollte doch auch ohner die OCD 
Fuse gehen, oder?

Ciao...
Markus

von Gast (Gast)


Lesenswert?

Seit dem AVR Studio 4.18 ist die 32k Grenze Geschichte:

Aus den Release Notes

New Features:
AVR Dragon support for all AVR 8-bit devices including XMEGA(JTAG mode 
only). Programming and debugging within AVR Studio and command line 
software support for ELF production file format.

von Markus M. (adrock)


Lesenswert?

Gast schrieb:

> New Features:
> AVR Dragon support for all AVR 8-bit devices including XMEGA(JTAG mode
> only). Programming and debugging within AVR Studio and command line
> software support for ELF production file format.

Ja, das mit dem XMEGA hatte ich auch mit Freude gelesen, dass es auch 
die 32k Grenze betrifft - daran hatte ich garnicht gedacht, aber stimmt 
natürlich.

Wenn es denn nur funktionieren würde über JTAG...

Wenn alles nichts hilft, muss ich mir mal das DSO schnappen und schauen 
was da abgeht, aber hätte ich gerne vermieden, und mit nur zwei Kanälen 
wird das recht mühsam werden...

Ciao...
Markus

von Markus M. (adrock)


Lesenswert?

Hi,

also das ist schon merkwürdig... bin jetzt an die TCK-Leitung (JTAG Pin 
1) mit dem Tastkopf meines Oszis gegangen um mal die Signale zu 
überprüfen und... es funktioniert.

Solange ich irgendwo im Signalpfad von TCK (also egal ob am Controller 
oder am Dragon) den Tastlopf dran habe, funktioniert das JTAG Interface. 
Nehme ich ihn weg, funktioniert es nicht mehr.

Hat da jmd. eine Erklärung für?

Ciao...
Markus

von Markus M. (adrock)


Lesenswert?

...ein 22pF Kondensator von TCK nach Masse bringt den JTAG auch zum 
funktionieren.

Nur warum?

Ist mein JTAG Kabel zu kurz? :-)

Ciao...
Markus

von Markus M. (adrock)


Lesenswert?

...nur zur Auflösung falls noch irgendjemand dieses Topic nochmal 
ausgraben sollte:

Es lag tatsächlich an der Länge des JTAG Kabels - es war offenbar 
schlicht zu lang. Habe es von 40cm auf 20cm gekürzt und nun funktioniert 
es.

Die Treiber scheinen da wohl recht empfindlich zu sein, insbesondere auf 
der Clock-Leitung (TCK). Angeblich sollen ja Widerstände (220R) in Serie 
zu TCK und TDO helfen, aber ich kann mit den 20cm auch gut leben und 
lasse es jetzt so.

Ciao...
Markus

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