Forum: Mikrocontroller und Digitale Elektronik PDI + AVR Dragon


von Neo (Gast)


Lesenswert?

Hallo
Weiß schon einer genaueres Wann der PDI Adapter für das Dragon Board 
kommt, bzw was man tun muss damit der Dragon ein ATXMega über PDI 
Programmieren kann.

Habe ein ATXMega16A4 ohne JTAG und ein Programm den mit dem PDI 
Interface mit einem Dragon zubetreiben.

von spess53 (Gast)


Lesenswert?

Hi

>Weiß schon einer genaueres Wann der PDI Adapter für das Dragon Board
>kommt, bzw was man tun muss damit der Dragon ein ATXMega über PDI
>Programmieren kann.

AVR-Studio 4.18 + SP1.

MfG Spess

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

spess53 schrieb:
> AVR-Studio 4.18 + SP1.

Dem Vernehmen (und meiner Erfahrung) nach jedoch nur für einen Teil
der Xmegas.  Zumindest habe ich es auf einem A1 und einem A3 nicht
zum Laufen bekommen, während AVRISPmkII und STK600 sehr wohl mit
beiden arbeiten.

von Neo (Gast)


Lesenswert?

Ich habe das 4.18 +SP1 drauf.
Es geht also General mit dem Dragon auf dem ATXMEGA16A4 drauf zu kommen?
Ich habe gestern Abend noch gelesen das es nur mit einem spezialen 
Adapter geht, stand so in der Hilfe.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Neo schrieb:

> Es geht also General mit dem Dragon auf dem ATXMEGA16A4 drauf zu kommen?

Ja, das Gerücht behauptet, dass es mit einem A4 funktionieren soll.

> Ich habe gestern Abend noch gelesen das es nur mit einem spezialen
> Adapter geht, stand so in der Hilfe.

Du musst halt die Verdrahtung mit der Hand machen, wenn du keinen
Adapter hast.

Aus der AVRDUDE-Doku:
1
   * Problem: I want to use my JTAG ICE mkII or AVR Dragon to program an
2
     Xmega device through PDI.  The documentation tells me to use the
3
     _XMEGA PDI adapter for JTAGICE mkII_ that is supposed to ship with
4
     the kit, yet I don't have it.
5
6
     Solution: Use the following pin mapping:
7
8
     *JTAGICE*     *Target*      *Squid cab-*  *PDI*
9
     *mkII probe*  *pins*        *le colors*   *header*
10
     1 (TCK)                     Black         
11
     2 (GND)       GND           White         6
12
     3 (TDO)                     Grey          
13
     4 (VTref)     VTref         Purple        2
14
     5 (TMS)                     Blue          
15
     6 (nSRST)     PDI_CLK       Green         5
16
     7 (N.C.)                    Yellow        
17
     8 (nTRST)                   Orange        
18
     9 (TDI)       PDI_DATA      Red           1
19
     10 (GND)                    Brown

(Die "squid cable colors" darfst du ignorieren, wenn du kein JTAG
ICE hast, das "Tintenfischkabel" liegt nur diesem bei.)

Wäre auch schön, wenn du mit dem aktuellen AVRDUDE (entweder von
WinAVR oder hier aus dem Forum aus Martins Thread) nochmal testen
könntest.  Bei meinem letzten Test ging's nicht mit dem Dragon,
aber ich hatte nur ATmega128A1 und ATmega256A3 zur Verfügung.

von Neo (Gast)


Lesenswert?

Ich konnte es heute mit einem JTAG MKII testen, damit geht es 
Problemlos. Nur mit dem Dragon geht es nicht, obwohl ich den aktuellen 
Stand habe von der Software(AVR Studio + Dragon).

Ist einglich schade das es nicht geht...

von Martin e. C. (eduardo)


Lesenswert?

Habe auch versucht mit dem Dragon ein 128A1 über PDI zu programmieren 
geht leider auch nicht,

AVRDUDE sagt:

> "make.exe" program
avrdude -p atxmega128a1 -P usb -c dragon_pdi    -U flash:w:test4.hex
avrdude: jtagmkII_setparm(): bad response to set parameter command: 
RSP_FAILED
avrdude: jtagmkII_close(): bad response to GO command: 
RSP_ILLEGAL_EMULATOR_MODE

avrdude done.  Thank you.

make.exe: *** [program] Error 1

programmieren über JTAG ist mit dem Dragon allerdings kein Problem

Gruß
Martin

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Neo schrieb:
> Ich konnte es heute mit einem JTAG MKII testen, damit geht es
> Problemlos. Nur mit dem Dragon geht es nicht, obwohl ich den aktuellen
> Stand habe von der Software(AVR Studio + Dragon).

Das deckt sich dann mit meinen Erfahrungen, die ich machen musste.
Du hast einen ATxmega16A4 getestet?  Schade, dann stimmt das Gerücht,
dass es mit dem A4 gehen würde, offenbar nicht.

Martin e. C. schrieb:
> Habe auch versucht mit dem Dragon ein 128A1 über PDI zu programmieren
> geht leider auch nicht,

Ja, das schrieb ich ja schon weiter oben, diese Kombination hatte
ich schon selbst getestet (parallel auch noch mit einem AVR Studio
um sicherzustellen, dass ich nicht nur bei der Ansteuerung des AVR
Dragon im AVRDUDE einen Bug habe).

von Neo (Gast)


Lesenswert?

Ja ich hab ein ATXMega16A4 getestet, ich hab noch ein ATXMega192A3(sowas 
in der Richtung, schreib ich gerad aus dem Kopf), aber dafür muss ich 
erst ein Print machen zum testen vom JTAG-Interface.
Hoffe ATMEL debugt das noch mit dem Dragon...

von Martin e. C. (eduardo)


Lesenswert?

Jörg Wunsch schrieb:
> Ja, das schrieb ich ja schon weiter oben, diese Kombination hatte
> ich schon selbst getestet

Ups! Sorry hatte ich es übersehen.

wenn ich mit dem Dragon über JTAG der 128A1 (XPlain Board) programmiere 
muß ich dann erst ein "power OFF, power ON" machen damit das Programm 
läuft, mit dem AVRISPmkII ist es aber nicht so, damit ist dann Programm 
am mC gesendet und Programm läft.

von Neo (Gast)


Lesenswert?

Ich hab noch ein Tip in einem Forums gefunden und damit klappt es.
Man muss in der Zuleitung von Data und Clock von dem PDI je ein 330R 
Widerstand in Reihe setzen. Angeblich soll das Überschwinken reduziert 
werden.
Damit klappt es aber.

Die Belegung ist vom ISP Port, Reset ist Clock, MISO ist Data.
Es geht sowohl das auslesen der Fuses und Programminhalt und das 
Debuggen.

Ich muss noch weiter Testen ob es irgendwo/wann noch ausfälle gibt, bin 
aber guter Dinge.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Neo schrieb:
> Ich hab noch ein Tip in einem Forums gefunden und damit klappt es.

OK, das werde ich demnächst auch nochmal probieren.

Martin e. C. schrieb:
> wenn ich mit dem Dragon über JTAG der 128A1 (XPlain Board) programmiere
> muß ich dann erst ein "power OFF, power ON" machen damit das Programm
> läuft,

Nein, das sollte so funktionieren.  Als letzte Aktion müsste ein
CMND_GO gesendet werden.  Kannst du ja ggf. mit -vvvv mal verifizieren.

von Martin e. C. (eduardo)


Angehängte Dateien:

Lesenswert?

Jörg Wunsch schrieb:
> Nein, das sollte so funktionieren.  Als letzte Aktion müsste ein
> CMND_GO gesendet werden.  Kannst du ja ggf. mit -vvvv mal verifizieren.

wie sollte funktionieren, also ohne "Power OFF - Power ON"?

habe wieder mal getestet, wenn ich -vvvv benutze, kommt ein riesig 
Meldung (Anhang), und trozdem muß ich ein "Power OFF - Power ON" machen.

von Johannes R. (jor)


Angehängte Dateien:

Lesenswert?

ich habe hier auch Probleme mit dem Dragon auf ein ATXMega256a3 zu 
kommen. Weder JTAG noch PDI funktionieren. Hat das schon mal jemand 
erfolgreich geschafft? Ich kann leider, weil ich den ATXMega auf der 
Herdplatte entlöten musste, einen Hitzetod nicht ganz ausschliessen.

Beim Anschluss des PDI an den Dragon habe ich von der ISP-Buchse
1 (MISO) mit PDI,
2 (VCC) mit 3V3,
5 (RESET) mit RESET bzw. Clock,
6 (GND) mit GND verbunden.

Firmware vom Dragon ist die von 4.18 SP2.
Im Anhang habe ich noch meinen Schaltplan angehängt.

Da ich jetzt von einigen Problemen mit dem Dragon gelesen habe kann mich 
ja vielleicht jemand aufmuntern und mir sagen, dass es am Dragon liegt. 
Habe schon 1k Ohm Widerstände in die Datenleitung und Clock-Leitung 
gelegt (PDI). Wie gesagt mit JTAG komme ich auch nicht weiter.

Oszi, ein AVRISP MkII sowie weitere Widerstandswerte habe ich erst 
nächste Woche zur Verfügung.

von ich (Gast)


Lesenswert?

Was ich schon oft hier gesehen habe ist, dass die Leute es nicht lassen 
können einen 100nF Kondensator an RESET, welcher eben auch die PDI-CLK 
Leitung ist, zu hängen. Dann geht natürlich gar nichts...

von ich (Gast)


Lesenswert?

Ich muss zugeben, beim meinem ersten Versuch mit einem AVRISPMK2 am 
128A1 über PDI ist mir das mit den 100n Auch passiert. Ausgelötet, dann 
gabs keine Probleme mehr. Weder mit dem  AVRISPMK2 noch dem JTAGICEMK2 
über PDI. JTAG hab ich noch nicht versucht

von Johannes R. (jor)


Lesenswert?

ich schrieb:
> Was ich schon oft hier gesehen habe ist, dass die Leute es nicht lassen
> können einen 100nF Kondensator an RESET, welcher eben auch die PDI-CLK
> Leitung ist, zu hängen. Dann geht natürlich gar nichts...

joa aber ich habe extra einen Jumper spendiert um den 100nF Kondensator 
zu entkoppeln. Also daran kann es definitiv nicht liegen.

von Johannes R. (jor)


Lesenswert?

Also ich hatte auf der Platine einen Oszillator (30MHz). Jetzt wo ich 
diesen entfernt habe (gesockelt) kann ich über den Dragon im PDI-Mode 
die ID usw. auslesen. Wenigstens tut sich mal was. Allerdings liesst er 
immer nur 0xFF aus.
1
Setting device parameters.. OK!
2
Entering programming mode.. OK!
3
Reading signature .. 0xFF, 0xFF, 0xFF .. OK!
4
Leaving programming mode.. OK!

Davor kam schon "Setting device parameters... FAILED!". Die Zuleitung 
vom Dragon zum Board erfolgt über Jumperwire mit einer Länge von ca. 10 
cm. Vielleicht sollte ich auf die Widerstände warten :)

Weiss jemand vielleicht ob der XMega geantwortet hat also noch nicht am 
Hitzetod gestorben ist?

von jor (Gast)


Lesenswert?

Nur zu Info falls jemand ähnliche Probleme hat. PDI funktioniert mit dem 
Dragon anscheinend, trotz Ankündigung, noch nicht. Und JTAG funktioniert 
jetzt mit einem kürzeren Kabel. Evtl funktioniert es auch mit 
Widerständen in den Leitungen aber das habe ich noch nicht ausprobiert.

von pufi42 (Gast)


Lesenswert?

Hallo,

habe auch PDI + ATXMEGA128A1 ausprobiert, funktioniert leider nicht.
Nach mehreren versuchen habe ich ATMEL NO angeschrieben, die haben
mir beschtätigt (ohne weitere Angaben), dass PDI mit ATXMEGA 
funktioniert nicht.
DRAGON + ATXMEGA + JTAG geht nur programmieren, debuggen aber nicht.

P.

von jor (Gast)


Lesenswert?

Debuggen über JTAG ist bei mir kein Problem ich musste jedoch mein Kabel 
vom Dragon zum Board auf <10cm kürzen. Eventuell sollte man sich mal 
diesen Dragonlair bauen oder eben ein JTAGICE kaufen.

von Stefan M. (celmascant)


Lesenswert?

Treadausgrab *staub* hüstel

Morgen!

Da ich im Moment plane einen XMega32A4U einzusetzen, habe ich mich 
gerade mal durch diverse Dokumente von Atmel gewühlt.
Dort steht mitlerweile, das nur ein paar XMegas der A4-Serie per PDI 
programmiert werden können, der rest per JTAG.
Beim xmega32A4U ist bei den Tools auch der AVR-Dragon aufgeführt.
Wenn ich beim AVR-Studio den AVR-Dragon und den xmega32A4U auswähle, 
sagt mir das Programmer-Fenster, das er über PDI verbunden werden will 
(logisch, der MC hat ja kein JTAG).

Kann mir jemand sagen, ob das (mittlerweile sauber) funktioniert?
Rein zur Info: Der Dragon hockt in einem Dragon-Lair^^
Und wenn ja, einfach die passenden LEitungen der ISP nehmen?

Irgendwie ist das für den Dragon sehr dürftig dokumentiert.

Gruss Stefan

von Fabian B. (fabbraun)


Lesenswert?

hallo zusammen,

wie stefan würde auch ich gerne den XMega32A4U mit AVR dragon einsetzen, 
hat jemand schon erfahrungen ob das gut funktioniert?
oder vielleicht weisst du schon mehr stefan?

danke für eure inputs.

grüsse
fab

von Fabian B. (fabbraun)


Lesenswert?

der vollständigkeit halber ein kurzer nachtrag von meiner seite:

Meine Frage:
>Does the AVR Dragon provide full programming AND debugging features
>for the ATxmega64A4U device via PDI interface? What is the correct
>pinout for the PDI using the AVR Dragon?

Und die Antwort darauf (offiziell von Atmel):
>Yes, the Dragon can debug and program the ATxmega64A4U using
>the PDI interface.
>For the PDI pinout you can look in the appnote "AVR042 AVR hardware 
>considerations", it includes  the pinout for the standard
>PDI connector [1] in chapter 4.3. This connector matches
>the ISP connector on the AVR Dragon.

von Reini (Gast)


Lesenswert?

Hi folks,
Ich habe gerade eben Atxmega16U4 mit AVRDragon über PDI programmiert. 
Funktioniert einwandfrei. Allerdings ging das nur mit der neuester Atmel 
Studio ver6 und firmwareupdate (ver 7.24) von AVRDragon. 
Serienwiderstand in den Programmierleitungen wie oben beschrieben sind 
nicht erforderlich. Zum Test habe ich einfach Drähte an VCC, GND und an 
den PDI Leitungen des Micorcontrollers angelötet, 3V Spannungsregler 
zwischen Dragon und XMEGA damit dieser direkt aus dem AVRDragon versorgt 
werden kann. (Leider können die Xmegas keine 5V mehr) 3V Versorgung dann 
zurück zum AVRDragon auf ISP Header pin2 damit die Programmierspannung 
passt.

von Daniel Schöni (Gast)


Lesenswert?

Auch wenn der Thread schon etwas älter ist, er ist immer noch aktuell.

Ich versuchte tagelang einen ATXMEGA128A4U per AVR Dragon zu 
programmieren - erst vergebens.  :((

Währenddem ich mit einer KO-Sonde die PDI-Signale untersuchte ging es 
plötzlich ... oh Wunder!  :O

Meine Feststellung: mit etwas Kapazität am PDI-CLK (RESET-Leitung beim 
ATXMEGA128A4U) gelingt die Verbindung jedes mal. Betroffen sind übrigens 
alle XmegaA4. Ich setze nun generell einen 22pF-Kondensator auf diese 
Leitung gegen GND. Eine zu grosse Kapazität bringt natürlich die 
Funktion wiederum zum erliegen (z.B. 100nF als 
RESET-Einschaltverzögerung ...).
Seit dieser Massnahme habe ich keinerlei Programmierschwierigkeiten 
mehr. :)

Anwendung: Studio 7, für alle XmegaA4 verwendbar.

Ach ja, wer natürlich ein unsauberes Layout mit hoher Leitungskapazität 
verwendet, hat nie ein Problem gehabt ... ;)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Daniel Schöni schrieb:
> Meine Feststellung: mit etwas Kapazität am PDI-CLK (RESET-Leitung beim
> ATXMEGA128A4U) gelingt die Verbindung jedes mal.

Variieren des Pullups kann genauso helfen.

von Stefan F. (Gast)


Lesenswert?

Früher mochte ich mal die PDI Schnittstelle, weil sie mit so wenig 
Leitungen auskam und mit keine I/O Pins beschränkt.

Aber inzwischen habe auch ich sie hassen gelernt. Die gute alte ISP 
Schnittstelle ist da doch unkompolizierter.

Interessanterweise sind meine ersten Experimente mit SWD (bei STM32 
Controllern) ganzn unproblematisch verlaufen - obwohl da auch nur zwei 
Leitungen benutzt werden (+ Reset Taster).

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.