www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik JTAG mit Dragon funktioniert nicht


Autor: Markus M. (adrock)
Datum:

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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind auch die OCD Fusebits gesetzt?

Autor: spess53 (Gast)
Datum:

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

Autor: M. M. (miszou)
Datum:

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

Autor: Markus M. (adrock)
Datum:

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

Autor: Markus M. (adrock)
Datum:

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

Autor: Gast (Gast)
Datum:

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

Autor: Markus M. (adrock)
Datum:

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

Autor: Markus M. (adrock)
Datum:

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

Autor: Markus M. (adrock)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...ein 22pF Kondensator von TCK nach Masse bringt den JTAG auch zum 
funktionieren.

Nur warum?

Ist mein JTAG Kabel zu kurz? :-)

Ciao...
Markus

Autor: Markus M. (adrock)
Datum:

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

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.