Forum: Mikrocontroller und Digitale Elektronik Wie XMEGA-A1 programmieren?


von Gerrit L. (ethan)


Lesenswert?

Hallo
Es gab zwar schon einige Beiträge zum XMEGA-A1, aber so weit bin ich 
noch nicht mal.
Vorhanden ist das genannte Board mit einem ATXMEGA128A1 und ein AVRISP 
mkII.

Den 6- auf 10-poligen Adapter habe ich laut Vorgabe aus dem Netz 
gelötet. Allerdings waren die Bezeichnungen etwas anders.

Auf dem Board steht:
1 TCK
2 GND
3 TDO
4 VCC
5 TMS
6 RESET
7 ...
8 ...
9 TDI
10 GND

und beim mkII ist es wohl diese Belegung:
1 MISO
2 VCC
3 SCK
4 MOSI
5 RESET
6 GND

Deshalb habe ich das für mich sinnvollste gemacht.

TCK auf SCK
VCC auf VCC
GND auf GND
RESET auf RESET
MISO auf TDO
MOSI auf TDI

Vielleicht ist das auch falsch. Wäre ja sinnvoll die gleichen 
Bezeichnungen zu wählen oder wenn man schon beides vom gleichen 
Hersteller hat, dann mal die gleichen Anschlüsse zu wählen.
Wenn ich das Board über USB anschließe, dann leuchten die LEDs. Nur mit 
dem  mkII leuchtet nichts, also wird wohl der USB für die zusätzliche 
Spannungsversorgung  benötigt.

Wenn ich dann versucht habe ein Beispielprogramm zu laden, dann kamen da 
immer Fehlermeldungen. Kennt jemand ein Tutorial, was wirklich von 
Anfang an alle Schritte zeigt? Die Sachen liegen schon seit Jahren hier 
herum, aber bisher bin ich nicht dazu gekommen. Atmel Studio 7.0 habe 
ich schon installiert.

Über etwas Hilfe würde ich mich sehr freuen.

MfG

von Georg G. (df2au)


Lesenswert?

JTAG ist nicht ISP. Dur brauchst keinen AVRISP sondern einen AVRICE3 
(oder Vorgänger), der JTAG spricht.

von Arduinoquäler (Gast)


Lesenswert?

Gerrit L. schrieb:
> Vielleicht ist das auch falsch.

Ja.

Der XMega braucht das PDI Interface. Das ist dokumentiert,
sowohl beim XMega als auch beim AVR ISP MKII.

Die JTAG-Schnittstelle kannst du mit dem AVR ISP MKII
nicht verwenden. Dazu bräuchtest du den JTAG ICE MKII.

Und für den AVR ISP MKII zum PDI brauchst du vielleicht
ein kleines Adapterchen.

von Georg G. (df2au)


Lesenswert?

Such in Google nach "usbasp pdi". Dort findest du Schaltbilder für einen 
Adapter und wie man vorgeht.

von Gerrit L. (ethan)


Lesenswert?

Dann verstehe ich das nicht.
In einem anderen Beitrag hatte jemand genau die gleichen Sachen. Wie hat 
er das denn gemacht?

Kris M. schrieb:
> ich habe den avr isp mk2 und er funktioniert wunderbar.
> ihr braucht dazu en 6-10 adapter pinbelegung des boards kann variieren
> je nach herstellungsdatum. sollte aber eigentlich gleich sein
>
> müsst ihr halt mal aufs board schaen wo die benötigten pins der 10er
> messerleiste liegen. standart sollte 1,5 und 7-8 sein
>
> im mk2 sind die relevanten pins auf jedenfall 1-2 und 5-6
>
> 1->1 5->2 7->5 8->6

Welche Pins sind das jetzt genau? Werden von den 6 nur 4 Pins benötigt? 
Es ist auch toll die Nummern anzugeben und nicht was daran liegt, 
besonders wenn das variieren kann. Also total sinnlos.

Hier wird das auch so beschrieben:
Chris schrieb:
> Zum Programmieren reicht z.B. ein AVRISP mk II.

Es muss also irgendwie funktionieren. In der Anleitung vom mkII steht 
"Supports all Atmel® AVR® devices with ISP, PDI or TPI interface" aber 
nicht wie man das macht oder welche Pins das dann sind.

Die angegebenen Sachen sind doch auch wieder Programmieradapter oder 
nicht?

von Bastian W. (jackfrost)


Lesenswert?


von Arduinoquäler (Gast)


Lesenswert?

Google ist ja soooo schwer zu bedienen ....

... man muss dauernd Buchstaben eintippen ....

http://www.atmel.com/Images/doc8169.pdf

Da steht alles drin.

von Arduinoquäler (Gast)


Lesenswert?

Gerrit L. schrieb:
> aber nicht wie man das macht oder welche Pins das dann sind.

von Arduinoquäler (Gast)


Lesenswert?

Gerrit L. schrieb:
> Nur mit
> dem  mkII leuchtet nichts, also wird wohl der USB für die zusätzliche
> Spannungsversorgung  benötigt.

Um schon mal aufkommende (Anfänger-) Fragen zu beantworten:
Vcc an den Programmier-Adaptern ist keine Versorgungsspannung
sondern eine Monitor-Leitung zur Überprüfen der Versorgung
des verwendeten Controller.

Korrekterweise heisst diese Leitung beim JTAG Interface auch
Vtref (etwa: Voltage Target Reference).

Trotzdem werden noch gefühlte 2 Millionen neue Benutzer der
AVR Controller versuchen ihre Versorgung für den AVR aus
dem ATMEL-Programmier-Interface zu beziehen und dann mit der
Frage hier im Forum aufschlagen.

von Gerrit L. (ethan)


Lesenswert?

Daumen hoch Mr. Schlau. Du hast also was ich im ersten Beitrag schon 
geschrieben habe noch mal schriftlich belegt. Super,und nun? Solche 
Sprüche helfen mir überhaupt nicht und die Lösung ist damit auch nicht 
geliefert. Wenn da wirklich ALLES drin steht, dann bin ich wohl zu 
blind. Ich sehe keine Belegung wie ich diesen Adapter anfertigen muss 
oder wie der überhaupt auszusehen hat. Da steht nur noch mal, dass mein 
Programmieradapter funktioniert, aber immer noch nicht wie.

Das mit der VCC habe ich mittlerweile auch schon gefunden. Ich wollte 
nur Gewissheit haben.

Also ist JTAG einfach der falsche Anschluss und ich muss stattdessen J4 
oder J1 nehmen, richtig? Ist das egal welchen ich nehme?

Die Belegung davon ist:
1 SDA
2 SCL
3 RXD
4 TXD
5 SS
6 MOSI
7 MISO
8 SCK
9 GND
10 VCC

Ist da jetzt kein Reset vorhanden? Die anderen 5 kann ich direkt 
verwenden.
Bei J1 ist bei mir ein Jumper von RXD nach TXD. Soll das so sein?

von Arduinoquäler (Gast)


Lesenswert?

Gerrit L. schrieb:
> Also ist JTAG einfach der falsche Anschluss und ich muss stattdessen J4
> oder J1 nehmen, richtig?

Wie sollen wir hier wissen was J1 und J4 ist?

von Dieter F. (Gast)


Lesenswert?

Gerrit L. schrieb:
> In einem anderen Beitrag hatte jemand genau die gleichen Sachen. Wie hat
> er das denn gemacht?

Gerrit L. schrieb:
>> ihr braucht dazu en 6-10 adapter

Kennst Du Google? Ggf. gibt es sogar ein Youtube-Video dazu (k. A. ich 
bin bekennender Leser :-) )

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Falls der vollständige Name des Boards etwa 'XMEGA-A1 Xplained' lautet 
und der Boardcontroller noch in Ordnung ist, kannst du das Dings auch 
per USB programmieren.
Für PDI Programmierung kannst du einen Original AVRISP MkII benutzen, 
der dann über ein Adapter an J201 (JTAG/PDI) angeschlossen wird.
Dabei geht Pin 1 des AVRISP MkII an PDI_Data, Pin 5 an PDI_CLOCK aka 
Reset, Pin 2 geht wie üblich an Vcc und Pin 6 des AVRISP ist GND/Masse.

http://www.atmel.com/webdoc/avrispmkii/avrispmkii.section.ohf_vsd_lc.html

Das XMega-A1 Xplained Board ist dabei etwas zickig. Wenn es nicht 
klappt, hilft es im Allgemeinen, einen weichen Pulldown (47k-100k) von 
PDI(!) gegen Masse zu schalten.
Als erstes sollte man dann die JTAG Fuse des MC abschalten, damit sie 
nicht weiter mit PDI in Konflikt treten kann.

: Bearbeitet durch User
von Arduinoquäler (Gast)


Angehängte Dateien:

Lesenswert?

Gerrit L. schrieb:
> Ich sehe keine Belegung wie ich diesen Adapter anfertigen muss
> oder wie der überhaupt auszusehen hat.

Also für Langsamdenker und Googleversager nochmal mit der Nase
draufgestossen.
Suche im Datenblatt deines XMega (den wir auch noch nicht
genau kennen) die Pins des PDI. Und schliesse sie an den
AVR ISP MKII an. Dann noch Masse und Vcc (Vtarget) dazu.

von Gerrit L. (ethan)


Lesenswert?

Langsam aber sich gehen mir hier einige gehörig auf den Sa.. Wenn man 
keine Ahnung hat, dann einfach mal die Fre... halten.

Der Schlaueste bist Du wohl doch nicht. Ich habe die Belegung von J1 und 
J4 hingeschrieben. Übrigens steht die Bezeichnung im ersten Post. Ok, 
ich habe nicht Xplained dazu geschrieben, aber es ist das Board.

Und Dieter, super Tip, vielen Dank. Darauf wäre ich nie gekommen und 
habe das bestimmt auch ganz sicher nicht schon den ganzen Tag gemacht. 
Mir macht das nämlich so unglaublich viel Spaß hier andere zu nerven. 
Wenn Ihr nichts sinnvolles beitragen könnt, dann doch bitte einfach 
weiterblättern. Das bringt Euch nichts, und mir auch nicht...

Per USB wollte ich aber nicht, da ich extra diesen Adapter angeschafft 
habe.
Das scheint jetzt die erste wirklich brauchbare Antwort zu sein. Vielen 
Dank.
Auf dem Board steht das bei PDI oben drauf.

... DATA ...
CLK VCC  GND

Kann es sein, dass dann nur die rechten Pins von oben gesehen genutzt 
werden?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Bei Deiner arroganten Art kannst Du froh sein, dass Dir hier überhaupt 
noch jemand antwortet und zu helfen versucht.

Alle Infos, die Du benötigst, wurden hier schon genannt. Also bemühe 
Dich mal und lies die Postings nochmal durch.

: Bearbeitet durch User
von Gerrit L. (ethan)


Lesenswert?

What?
Sorry, aber vielleicht solltest Du mal die anderen Beiträge lesen. Wo 
bin ich denn arrogant? Ich habe ein Problem und suche eine Lösung. 
Arrogant ist man, wenn man die Lösung weiß und andere für dumm verkaufen 
will, siehe einige Beiträge weiter oben. Ich wurde wohl zuerst völlig 
grundlos blöde angemacht. Sowas muss ich mir auch nicht gefallen lassen.
Ich hatte gehofft, dass mir jemand einen vernünftigen Tipp geben kann, 
aber anscheinend ist das wohl das falsche Forum. Wirklich schade, das 
war mal der Sinn eines Forums.

Den Adapter werde ich dann morgen löten. Nochmals danke an Matthias.

Sowas kann man auch wirklich anders schreiben, ohne gleich persönlich 
werden zu müssen.

von Bastian W. (jackfrost)


Lesenswert?

Gerrit L. schrieb:
> Ich hatte gehofft, dass mir jemand einen vernünftigen Tipp geben kann,
> aber anscheinend ist das wohl das falsche Forum. Wirklich schade, das
> war mal der Sinn eines Forums.

Ohne alle wichtigen Infos ist es halt schwer dir den richtigen Tip zu 
geben.

Beim xMega geht PDI und JTAG. PDI ist ja der ISP Stecker mit einem 
anderen Protokoll und nur einer Datenleitung. Somit brauchst du nur den 
10 <-> 6 Pol Adapter.

Beim Xplaind A1 ist das anders. Da geht Jtag und PDI nur an dem JTAG 
Header. J1 - J4 sind nicht für das Programmieren. Das Problem ist das 
JTAG das PDI stört und du mit einem Trick PDI "erlauben" musst.

http://www.atmel.com/webdoc/xmegaa1explained/xmegaa1explained.XmegaA1Xplain.Miscellaneous.PDI_Init.html

The connection of JTAG_TDO with PDI_DATA is also an issue when the 
application on the device uses the JTAG_TDO pin e.g. by driving this pin 
actively or by using a pull-up. This will interfere with ongoing PDI 
communication. Additionally, when JTAG is disabled and the application 
is driving the JTAG_TDO pin it might even not be possible to establish a 
PDI connection. A workaround for this is to add a ~1k resistor from 
PDI_CLK/RESET to GND. This will keep the device in reset while PDI is 
enabled. When a PDI connection is established the flash can be erased or 
JTAG can be enabled in order to "unlock" the kit.

Mit der einfachen Information das es ein Xplain A1 hättest du den Tip 
früher bekommen.

Wenn der Bootloader nicht gelöscht ist geht das auch über USB nur Fuses 
gehen halt nicht. Mit ein paar Erweiterungen von FLIP geht das auch per 
FLIP. Einfach mal googln.

Gruß JackFrost

: Bearbeitet durch User
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Gerrit L. schrieb:
> Langsam aber sich gehen mir hier einige gehörig auf den Sa.. Wenn man
> keine Ahnung hat, dann einfach mal die Fre... halten.

DAS ist arrogant, denn es impliziert, dass Du mit ein paar Brocken, die 
man Dir hinwirft, immer gleich die Lösung parat hast. Wäre dem nicht so, 
würdest Du Dich anders verhalten. Wer Hilfe sucht, sollte es vermeiden, 
die anderen 'runterzuputzen, auch wenn mal eine Antwort kommt, die 
vielleicht nicht das Problem löst. Dies ist halt ein Forum und kein 
Professorenkongress, wo lauter Typen mit Kristallkugeln und allem 
denkbaren Equipment für alle möglichen Live-Tests 'rumsitzen, lauernd 
auf eine schier unlösbare Frage. Aber das lernst Du vielleicht noch.

von Dieter F. (Gast)


Lesenswert?

Gerrit L. schrieb:
> nd Dieter, super Tip, vielen Dank. Darauf wäre ich nie gekommen und
> habe das bestimmt auch ganz sicher nicht schon den ganzen Tag gemacht.

Gerne - nur brauche ich keinen ganzen Tag für die Suche auf der ersten 
Seite mit den Treffern für ISP MKII und xplained um auf diesen Treffer 
zu kommen:

http://www.avrfreaks.net/forum/programming-xmega-a1-xplained-avrisp-mkii-clone

I got it working by putting a 47k ohm resistor from PDI_data to GND to 
disable the JTAG on the xmega-a1 board. That allowed me to use PDI to 
diable the JTAG fuse bit.

von Stefan F. (Gast)


Lesenswert?

> Gerne - nur brauche ich keinen ganzen Tag für die Suche auf der ersten Seite

Ach du ärmster. Hoffentlich trägst du keine bleibenden Schäden davon.

Das nennt man recherchieren. Bei meinem Job in der ITK Branche ist das 
daily work. Und in der Elektronik Branch ganz sicher auch, denn die 
Technik verändert sich ständig.

Helfer zu beschimpfen ist hingegen eine ganz schlechte Strategie. Damit 
isoliert man sich. Ich muss schon sagen, dass mir beim Lesen dieses 
Threads die Kinnlade herunter geklappt ist.

Im übrigen hast du schlecht funktionierende Hilfsversuche provoziert, 
indem du das konkrete Board nicht benannt hast, die verwende Software 
nicht genannt hast und keine Fehlermeldung zittiert hast.

Das wären die Grundlagen, Fragen richtig zu stellen. Wer Fragen richtig 
stellt und angemessene Geduld aufbringt, findet die Antwort meistens 
selbst ohne Hilfe. Aber wir helfen gerne, wenn für unsere 
Hilfsbereitschaft nicht Beschimpfungen beantwortet wird.

von Dieter F. (Gast)


Lesenswert?

Stefan U. schrieb:
> Ach du ärmster. Hoffentlich trägst du keine bleibenden Schäden davon.

Meinst Du mich? Verwechselst Du mich mit dem TO?

von Stefan F. (Gast)


Lesenswert?

Damit meine ich Dich und den TO.

Du hast zwar Recht, dass man danach eventuell lange suchen muss, aber 
das ist normal. Kein Grund sich zu beklagen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

@TE: Hättest du gleich gesagt, das du ein XMEGA A1 XPlained Board hast, 
was ich ja zuerst nur unterstellt hatte, wären sicher gleich sinnvolle 
Tipps bekommen, aber keiner hier wusste das.
Dir fehlen wichtige Unterlagen zu dem Board:
http://www.atmel.com/webdoc/xmegaa1explained/index.html

Lade dir auf jeden Fall die Schaltpläne und beachte den Tipp mit dem 
Pulldown an PDI_Data, der jetzt nochmal gepostet wurde.

von Gerrit L. (ethan)


Lesenswert?

Ihr versteht das echt nicht, oder?
Wenn ich eine Info nicht liefere, dann kann man das schreiben. "Hör mal, 
was ist das genau für ein Board?" Ist nicht schwer, oder? Ich habe das 
"XPLAINED"  einfach vergessen. Sowas kann vorkommen. Sorry.
Nächster Punkt: Ich nutze google nicht, sondern andere Suchmaschinen, 
folglich sind auch andere Ergebnisse vorhanden. Der Hinweis auf google 
kommt sonst von mir, da andere das nicht gebacken bekommen und ständig 
so richtig unnötige Fragen stellen. Wann hat der Supermarkt am Bahnhof 
auf? Die Öffungszeiten finde ich innerhalb von Sekundenbruchteilen, aber 
nein, da wird auf Facebook eine Frage gestellt und dann lange auf die 
Antwort gewartet. Dank Smartphones verdummt und verroht die Gesellschaft 
und man kann dabei zusehen. Das ist mir schon häufiger aufgefallen, dass 
in Foren ein sehr ruppiger Ton herrscht. Ich habe keines, falls diese 
Frage kommt. Meine Texte waren freundlich und keinesfalls arrogant 
geschrieben. Ich will ja schließlich etwas. Da wäre sowas ziemlich 
unpassend.

Sowas ist also normal für Euch? Mich nervt das...

Arduinoquäler schrieb:
> Google ist ja soooo schwer zu bedienen ....
>
> ... man muss dauernd Buchstaben eintippen ....

Arduinoquäler schrieb:
> Also für Langsamdenker und Googleversager nochmal mit der Nase
> draufgestossen.

Für mich ist das arrogant und durchaus persönlich. Das kann man auch 
freundlicher schreiben.
Wenn man nicht helfen will oder kann, dann soll man es lassen. Niemand 
ist gezwungen sich hier einzubringen. Sicher standen da bestimmt auch 
hilfreiche Sachen, aber woher soll ich denn wissen, wie man das wo 
anzuschließen hat? Ich weiß es nicht und deshalb frage ich. Für Profis, 
deren tägliches Geschäft das ist, ist das ein leichtes, klar. Irgendwann 
müssen die das auch gelernt haben, waren die anderen da auch so 
herablassend? Übrigens war das Sarkasmus und keine Arroganz meinerseits.
Mir schwirrte da einfach der Kopf... JTAG, PDI, ISP und was weiß ich 
noch alles. Ich bin davon ausgegangen, dass sich jemand meldet, der das 
Board hat und den genauen Ablauf weiß.
Falls sich jemand zuerst von mir provoziert und angegriffen gefühlt hat, 
so was das nicht meine Absicht und man möge mir verzeihen. Ich werde 
dann auch nicht noch mal nach der Vorgehensweise zum Programmieren 
fragen. Sonst fühlt sich dabei vielleicht jemand erneut beleidigt und 
angegriffen. Das weiß ich nämlich auch nicht...

von Ashoka (Gast)


Angehängte Dateien:

Lesenswert?

...

von Stefan F. (Gast)


Lesenswert?

Ich würde allerdings empfehlen, den Pin 1 der Buchsen immer oben zu 
zeichnen, um Missverständnisse zu vermeiden. Das hatten wir nämlich 
gerade erst.

von Gerrit L. (ethan)


Lesenswert?

Super! Das beantwortet und bestätigt meine Frage/ Vermutung.
Ich muss mich erstmal mit den ganzen Unterschieden beschäftigen. Sowas 
könnte man auch in die Anleitung machen, besonders da es ein 
"Anfängerboard" ist.

Dann werde ich gleich mal den Lötkolben anwerfen...

MfG

von Bastian W. (jackfrost)


Lesenswert?

Es steht in der Anleitung zur Hardware von dem Board.

http://www.atmel.com/images/doc8370.pdf

Abbildung 3-1 und Punkt 4.1

Gruß JackFrost

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.