PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Xmega programmieren



TobiasBlome
11.12.2010, 15:54
Hallo,
für ein neues projekt möchte ich einen Xmega 192a3 einsetzen. Im Datenblatt gibt es kein MISO und MOSI mehr. Bisher habe ich die Anschlüsse auf meinen Platinen direkt mit dem "Bascom USB-ISP-Programmer" von Robotikhardware programmiert. Von der Spannung her ist es wohl kein problem (5 bis 1,8V). Aber wie ist es mit PDI bzw ISP?
Gibt es ein Datenblatt mit mehr als 100 Seiten? Über Port "R" konnte ich nichts finden.

Tobias

Carlos31
11.12.2010, 19:39
hi da sind alle antworten die du brauchst
http://www.atmel.com/dyn/resources/prod_documents/doc8169.pdf

TheDarkRose
11.12.2010, 19:46
Die xmega werden per JTAG programmiert soweit ich jetzt weiß

Carlos31
12.12.2010, 10:30
Wer lesen kann steht klar im vorteil :-)
Click auf mein link und und schaut dir seite 8 und 9 :-)

Hellmut
12.12.2010, 13:49
Mal angefangen mit der Info, dass ich BASCOM zum programmieren verwende. Und zu Carlos, ich habe mich durch Lesen informiert.

Soweit ich sehe kann, kann man die Xmega entweder per PDI oder per JTag programmieren. Zusätzlich gewinnt aber an Bedeutung die Möglichkeit des Debuggens auf dem Chip direkt.

Weiterhin habe ich gelesen, dass MCSELEC eine neue neue IDE in Arbeit hat. Jetzt meine Frage:

Welchen Programmer sollte ich kaufen, um die vom USBISP Programmer gewohnte "default" Umgebung zu haben?

Nach der Lektüre scheint es so, dass MCSELEC wohl die PDI-Schnittstelle über der JTAG bevorzugt.Der grund für den konkreten Einstieg in die xmega ist es, dass ich eine größere Anzahl SHT21, Sensoren für Feuchte und Temperatur laufend abfragen will und die Xmega sowohl bei 3,0V arbeiten, eine hohe Betriebsfrequenz ermögliche, und ich mit minimaler Verzögerung auf Pin Change Interrupts Ereignisse mit einem Wert des Timers versehen kann.

TobiasBlome
12.12.2010, 14:22
Hallo,
mein Englisch ist nicht so gut aber ICH lese daraus, dass es NICHT möglich ist über ISP zu programmieren ABER über JTag.

The XMEGA doesn’t have the SPI based In-System Programming (ISP) interface for
external programming, which has been used for megaAVR. (Seite 8 Punkt 5)
Programming and Debugging through the JTAG interface is still possible.(Seite 9)

Da mein Programmer nur ISP kann, schließe ich mich der Frage von Hellmut an:


Welchen Programmer sollte ich kaufen, um die vom USBISP Programmer gewohnte "default" Umgebung zu haben?
Der Programmer sollte USB haben und die alten AVR´s auch unterstützen :-)

magnetix48
12.12.2010, 15:04
Hallo Tobias,

ich arbeite mit dem Atmel AVRISP mk2. Der kann sowohl über ISP als auch bei den xmaga über PDI programmieren. Ein debuggen mit PDI funktioniert allerdings mit dem AVRISP mk2 nicht.
Die PDI Programmierung funktioniert mit AVR Studio 4, hier kann man die Hex-Files von Bascom übertragen. In der neuesten Version von Bascom (2.0.2.1) funktioniert wohl auch die Programmierung direkt aus Bascom. Habe ich noch nicht getestet, aber Auslesen des Flash und der Fuses läuft einwandfrei.
Der AVRISP mk2 wird zur Zeit von Reichelt für 34,95 Euro angeboten!

Grüße magnetix48

TobiasBlome
12.12.2010, 16:30
Hallo Magnetix48,
tja das ist wohl auch der einzige der preislich passt :-)
schön wäre ja auch Debuggen über PDI - aber man kann nicht alles haben.
Bei Reichelt gibt es auch ein Update für den Programmer - leider steht nichts weiteres dabei.

Tobias

PS. wo hast du Bascom 2021 gefunden?

magnetix48
12.12.2010, 16:37
Hallo Tobias,

ein Update funktioniert am einfachsten, wenn Du den Programmer mit dem AVR Studio 4 betreibst. Dann meldet sich das Programm und in wenigen Sekunden ist alles erledigt.
Noch ein Tipp zu dem xmega. Schau mal dort rein:
http://bascom-forum.de/index.php/topic,4053.0.html
Erste Schritte mit ATxmega bzw. XMEGA am Beispiel ATxmega128A1

Gruß magnetix48

magnetix48
12.12.2010, 16:41
Sorry, Dein Postscipt habe ich nicht gesehen. Das ist die neueste Kaufversion, die freie Version ist immer noch 11.9.8.....
Wenn Du die hast, geht wohl nur der Umweg über das AVR Studio mit dem Hex-File aus Basic.

Gruß magnetix48

TobiasBlome
12.12.2010, 16:53
Ich habe die Version 2.0.2.0 von
http://www.mcselec.com/index.php

wenn ich mich einlogge siehts so aus - nur Version 2.0.2.0

oder gibt es die wo anders?

magnetix48
12.12.2010, 17:01
Die letzte 1 wird dort nicht angezeigt, ich habe mein Basic aber schon ein paar Tage, es ist also die richtige Version.

Hellmut
12.12.2010, 18:10
Erstmal freuen mich die vielen Antworten, es ist anscheinend ein Thema das viele bewegt.

Also ich verlange von einem xmega programmierer nicht damit auch die früheren AVRs programmieren zu können, ich habe ja das USBISP!

Was ich aber verlange ist folgendes für eine Lösung:

1. Es muss aus BASCOM heraus nutzbar sein!
2. Hoffentlich auch für die neue IDE von BASCOM geeignet sein.
3. Es muss das Debuggen auf dem xmega unterstützen.

Der neue xmega hat mit seinem event System, mit dem DMA und vielen anderen tollen Funktionen, gerade die Kommunikation unter den Peripherien ohne das der Controller-Kern beteiligt sein muss, denke ich wird das debuggen im Zielsystem notwendig machen. Wäre toll wenn jemand hier einen Tutorial aufbauen würde, den man durcharbeiten kann um sich die Nutzung der neuen Möglichkeiten zu erschliessen!

Vitis
13.12.2010, 12:54
debuggen geht nur per JTAG ...

Hellmut
13.12.2010, 15:54
Und kann man über BASCOM und JTag den xmega programmieren und debuggen?

TobiasBlome
13.12.2010, 17:36
debuggen geht nur per JTAG ...

ich blick da noch nicht ganz durch...auf was ist das nun bezogen?

Auf der Atmel Seite steht dass debuggen mit PDI geht:

AVR JTAGICE mkII Description:
The JTAGICE mkII is a mid-range development tool for use with 8- and 32- bit AVR devices with On Chip Debug capability. JTAGICE mkII is used for source level debugging, NanoTrace (if supported by the device) and device programming.

JTAGICE mkII supports the following programming modes:

* SPI
* JTAG
* PDI
* aWire

It also supports debugging using the following interfaces:

* debugWIRE
* JTAG
* PDI
* aWire

ob der AVRISP mkII das auch kann, konnte ich noch nicht finden.
Wird der JTAGICE mkII von Bascom unterstützt?

Hellmut
13.12.2010, 17:55
Hallo Tobias

Meine Frage hat explizit den Bezug zu BASCOM gemacht. Das etwas z. B. unter Studio geht heisst noch lange nicht, dass man es auch unter BASCOM machen kann!

Also nochmals:

Ich möchte xemgas programmieren und debuggen und verwende BASCOM. Welcher Programmer wäre dafür zu empfehlen?

Ich informiere mich ja auch im Forum vom Hesteller von BASCOM, aber finde dort keine eindeutige Aussage! Zur zeit eigentlich nur, stand vor etwa 6 Monaten, das nur PDI unterstützt wird, was beddeuten könnte, das das debuggen einfach nicht möglich ist auf dem xmega, wenn Vitis hier sagt es geht nur mit JTag!

RP6conrad
13.12.2010, 18:33
Wen man wirklich die Rechenpower benotigt, soll auch ein ARM Processor mal angesehen wurden. Das Discovery board mit ein ST32F100 ARM processor wird angeboten für 12€. Noch einen free Compiler downloaden (IAR, Keil), und der Spass fangt an. Ueber USB kan geleich auch den Debugger laufen !! Absolut beeindruckend was das Ding alles an Periferie hatte. Leiter muss du mit C programmieren, BASCOM ist da unnbekannt. Und gerade einfach ist das auch nicht. Aber ein billige Einstieg ist gegeben !!

Vitis
13.12.2010, 20:50
uh .. aus Bascom heraus direkt debuggen ...
wenn mich nicht alles täuscht geht da nix, kann aber auch
falsch liegen.
Im Studio kannst Du den Bascom Code debuggen, das geht,
hab ich mal für'n ATMega probiert aber als unpraktisch verworfen.

PDI ist auch soweit ich informiert bin nicht zum debuggen,
sondern zum flashen, zum Debuggen JTAG

Hellmut
13.12.2010, 22:04
Danke für die Antworten.

@RP6conrad: Beim Xmega geht es, zu mindest bei mir, weniger um zusätzliche Rechenleistung, sondern um die "second-to-none" Peripherie! ich habe z. B. konkret den Bedarf 32 Feuchte- und Temperatursensoren gleichzeitig auszuwerten. Jeder Sensor hat 2 Datenleitungen, ein Select Feuchte- oder Temperaturmessung und eine PWM Leitung mit 1210 Hz, auf der die Duty-Time den datenwert ergibt. Falls interesiert, die SHT21 von Sensirion!

@Vitis: Ich werde wohl bei watterott.de den AVR ISP MKII (USB) erwerben, der das Programmieren über PDI unterstützt! Debuggen im Zielsystem auf den Controller wäre einfach zu schön, scheint aber ohne C wohl nicht zu gehen. Mich hält als Neuling meine Unfähigkeit ab schnell und einfach ein hello world hinzubekommen, da ich die Tool-Chain nicht richtig konfiguriert bekomme. Aber auch das Fehlen der speziellen Anweisungen die mit BASCOM das Realisieren vieler Funktionen sehr einfach macht ist hier sehr bedauerlich.

TobiasBlome
13.12.2010, 22:45
Meine Frage hat explizit den Bezug zu BASCOM gemacht. Das etwas z. B. unter Studio geht heisst noch lange nicht, dass man es auch unter BASCOM machen kann!

Danke Hellmut, das wusste ich nicht - bin davon ausgegangen, dass wenn der Programmer unterstützt wird, dass dann auch alle Funktionen unterstützt werden - wieder was gelernt.

Vitis
13.12.2010, 23:18
korrektur:

PDI kann prinzipiell debuggen, der AVRISP jedoch nicht, der JTAG ICE schon ...
wird wohl ne Firmwaresache sein ...

Aus Bascom direkt jedoch eher nicht.

Wie schon gesagt, Du kannst aus Bascom heraus exportieren und im Studio
vermutlich debuggen.

Hellmut
14.12.2010, 00:40
Schön das es ein langer und kalter wWinter werden soll. Was kann schöner sein, als in seiner ordentlich geheizten (sachlich unordentlich, sprich unaufgeräumten) Keller-Werkstatt zu sein, ein Board mit einem Xmega und wunderschöne 32 SHT21P Wärme- und Feuchtesensoren angeschlossen zu habenund dabei die neue Peripherie der xmega kennen und beherrschen zu lernen um dann die Sensoren zu studieren!

TobiasBlome
27.12.2010, 20:25
Hallo,
der AVR ISP mk2 Programmer ist da ;-)
Mit AVR Studio 4 hab ich gleich das Update gemacht und das Programmieren über die Hex Datei aus Bascom geht auch!

Kann mir bitte einer erklären was ich in Bascom einstellen muss, damit ich DIREKT von Bascom programmieren kann? Ich suche schon den ganzen Nachmittag....

magnetix48
27.12.2010, 20:45
Hallo Tobias,

die Einstellung sieht bei mir so aus und es funktioniert.


Gruß
magnetix

TobiasBlome
27.12.2010, 21:05
Hallo Magnetix48,
vielen Dank für das Bild. Leider hatte ich bisher keiner Erfolg.

Clock ist sicher die Quarzfrequenz die über die Fusebits eingestellt ist. COM Port ist bei mir 4 & 5 im Gerätemanager belegt. Welcher ist richtig(wie bekomm ich das raus?)
Du benutzt wohl WinXP? (ich Win7)

magnetix48
27.12.2010, 21:13
Hallo Tobias,

Du hast recht, ich arbeite noch immer mit WinXP, möglich, dass es daran liegt.

Gruß
magnetix

Richard
28.12.2010, 09:57
Hallo Magnetix48,
vielen Dank für das Bild. Leider hatte ich bisher keiner Erfolg.

Clock ist sicher die Quarzfrequenz die über die Fusebits eingestellt ist. COM Port ist bei mir 4 & 5 im Gerätemanager belegt. Welcher ist richtig(wie bekomm ich das raus?)
Du benutzt wohl WinXP? (ich Win7)

Clock dürfte eher die Frequenz sein mit der das MK II das Programm überträgt. Bei "ISP" wäre das die ISP Frequenz.

Im Gerätemanager / Com sollte beim Com Port auch das gerät aufgelistet sein welches den Port belegt. Zur Not einfach in Bascom ausprobieren welcher den Programmen anspricht.

Gruß Richard

TobiasBlome
28.12.2010, 17:22
Clock dürfte eher die Frequenz sein mit der das MK II das Programm überträgt. Bei "ISP" wäre das die ISP Frequenz.


Ich programmiere mir PDI deshalb habe ich die 125000 von magnetix48 aus dem Bild übernommen - die sind doch für PDI oder?



Im Gerätemanager / Com sollte beim Com Port auch das gerät aufgelistet sein welches den Port belegt. Zur Not einfach in Bascom ausprobieren welcher den Programmen anspricht.
Gruß Richard

Im Gerätemanager sind 2 neue virtuelle Ports eingerichtet worden: 4 & 5 - Leider funktionieren beide nicht.

Zur Hardware: an USB angeschlossen, geht die grüne LED im Gehäuse an. Sobald der µC angeschlossen wird leuchtet auch die zweite LED grün. Sieht für mich soweit richtig aus.

Sobald ich mit Bascom programmieren möchte, kommt die Meldung:
"Could not detect Chip, Auto program failed"

Richard
28.12.2010, 23:35
Im Gerätemanager sind 2 neue virtuelle Ports eingerichtet worden: 4 & 5 - Leider funktionieren beide nicht.


Bei mir werden die nur angezeigt wenn sie auch angeschlossen sind. Ziehe einmal alle USB Geräte ab ob das bei Dir genau so ist. Dann nur den Programmer anstecken, danach sollte dann auch nur der Com Port angezeigt werden an dem der Prommer hängt. Oder Du schließt den Prommer an einen Anderen USB Anschluss an, dann bekommst Du automatisch einen Zusätzlichen virtuellen com Port.

Ist im Geräte Manager baut, 8 Datenbit, 1 Stopp Bit, no Parity, und Flussteuerung KEINE eingetragen? die Baudrate muss natürlich am PC, µC Board und Bascom übereinstimmen.

Die Fehlermeldungen sind gelegentlich recht "Bescheuert" eine falsche ID kann auch bedeuten das keine oder eine verstümmelte gelesen wurde (wenn den überhaupt etwas übertragen wurde). :-(

Gruß Richard

stefan_Z
29.12.2010, 03:13
Hab gestern auch mein EVK XA1 bekommen (von Waveshare).
Den MKII hab ich auch dazu bestellt - tuts in AVRstudio - soweit so gut.
In Bascom das selbe Problem - will nicht.
LibUSB habe ich installiert (Filter-Version unter XP) - is aber immer noch nix.
Link zum Thema: http://avrhelp.mcselec.com/index.html?libusb.htm

Bootloader hilft dagegen soweit... Nicht vergessen die Bootloader-Fuse in AVRstudio zu setzen, sonst tuts der Loader genau nur ein mal :-)
Danach kann man sogar ohne PDI auskommen, wenn man keinen Unsinn macht!

TobiasBlome
29.12.2010, 10:57
so, nun habe ich alle Virtuellen Com-ports gelöscht!
mit AVRStudio geht´s immer noch - also Studio deinstalliert, neu gestartet neu installiert, neu gestartet und es werden keine Com-ports mehr angezeigt(ausser COM1) und mit AVRStudio gehts immernoch......

Richard
29.12.2010, 12:49
so, nun habe ich alle Virtuellen Com-ports gelöscht!


Die sind wahrscheinlich nur "Ausgeblendet" siehe

http://www.winfaq.de/faq_html/Content/tip1000/onlinefaq.php?h=tip1220.htm

Danach dann aber wieder den Virtuellen com Treiber vom MKII neu installieren. Es sollte auch nur 1 neuer Com Port erscheinen, eigentlich sollte der aber automatisch geladen werden wenn der MKII per USB Verbunden wird?

Gruß Richard

TobiasBlome
29.12.2010, 18:41
es läuft...

@Richard: es ist definitiv KEIN Com-Port in der Liste. (ausser Com1)

Hier steht etwas von einem Treiber aber in anderen Foren habe ich wiederum gelesen, dass dieser nicht benötigt wird, wenn Studio installiert ist - hab ihn trotzdem installiert (http://avrhelp.mcselec.com/index.html)

Desweiteren habe ich gelesen das der zum STK500 kompatibel ist?! also habe ich diesen in Bascom mit diversen Einstellungen probiert. Ohne Erfolg - daraufhin habe ich den STK600 mit diversen Einstellungen probiert..auch nix... und dann alles wieder auf den AVR ISP mk2 umgestellt. und als wenn nichts gewesen wäre, funktioniert es nun - mal sehen wie lange.
Lock/FuseBits kann man nur sehen - zum ändern wird leider Studio benötigt.

Also vielen Dank an alle! Aber ich finde es ein bisschen unbefriedigend von Bascom, denn man kann den Programmer ja auswählen und dann sollte er auch sofort funktionieren.

stefan_Z
29.12.2010, 19:37
Also bei mir meckert er im Log immer, dass er kein USB-Gerät mit Kennung "MK2" finden kann.
Sollte es nicht "MKII" heißen? Das is zumindest die Kennung meines Proggers...

EDIT:
Jetzt erkennt er den Progger, aber meckert rum, dass er den Serial Port nicht nutzen kann. Is aber auf USB geschaltet... grrmmpf