Forum: Mikrocontroller und Digitale Elektronik xmega 32MHz, JTAG geht nicht


von Fabs (Gast)


Lesenswert?

Hi,
seit ein paar Tagen programmiere ich nun einen Xmega 128A1 über JTAGICE 
mkII. Bis jetzt hat auch alles geklappt.
Nun versuche ich den  Controller über den internen 32MHz Takt laufen zu 
lassen. Dabei benutze ich das Beispiel "AVR1003 Using the XMEGA Clock 
System" von der Atmel-Seite.
Im Programm wird nur der interne Takt umgestellt mit folgendem Code:

CLKSYS_Enable( OSC_RC32MEN_bm );  //Enable 32MHz Oszillator
CLKSYS_Prescalers_Config( CLK_PSADIV_1_gc, CLK_PSBCDIV_1_1_gc );
do {} while ( CLKSYS_IsReady( OSC_RC32MRDY_bm ) == 0 );
CLKSYS_Main_ClockSource_Select( CLK_SCLKSEL_RC32M_gc );

Danach wird eine Led abwechselnd an- bzw. ausgeschaltet.
Als erstes habe ich den Teiler C wie es im Beispiel gemacht wird auf 2 
eingestellt, also die CPU läuft mit 16Mhz. Hier hat auch noch alles 
geklappt.

Nun wurden alle Teiler auf 1 gestellt. Der Pin toggelt nun zwar schön 
vor sich hin, leider hab ich aber keinerlei Zugriff über den JTAGICE 
mkII mehr.

Eigentlich müsste die JTAG-Schnitstelle doch völlig unabhängig von dem 
CPU-Takt sein, oder?
Der Controller wird mit 3,3V betrieben. Also sollten doch die 32MHz laut 
Datenblatt auch keine Problem darstellen.

Für jede Information währe ich sehr dankbar!

von egal (Gast)


Lesenswert?

>Der Controller wird mit 3,3V betrieben. Also sollten doch die 32MHz laut
>Datenblatt auch keine Problem darstellen.

Was hat das eine mit dem anderen zu tun?
Aber ja, 32MHZ bie 3,3V geht.

von Fabs (Gast)


Lesenswert?

Damit wollte ich darauf hinweisen das der Controller mit über 2,7V 
betrieben wird und somit die 32MHz auch machbar sind.
Mfg
fabs

von Fabs (Gast)


Lesenswert?

Ich habe so eben einen zweiten xmega mit dem Jtagice mkII programmiert. 
Also der Jtagice funktioniert. Allerdings will ich mich jetzt auch nicht 
aus den zweiten aussperren ;)
Hat vielleicht jemand eine Idee was da schief gelaufen ist?

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


Lesenswert?

Beim XMega kann man sich nicht aussperren. Höchstens dann, wenn man die 
JTAG-Fuse löscht. Beim und direkt nach dem RESET läuft der Controller 
immer mit 2Mhz.

von Fabs (Gast)


Lesenswert?

Das dachte ich auch.... Ich verstehe auch wirklich nicht, warum meine 
JTAG Schnittstelle nicht mehr funktioniert. Die Fuses für JTAG habe ich 
nicht verändert.

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


Lesenswert?

Hast Du zufällig einen AVR-ISP mkII oder ein STK600 zur Hand? Damit 
könntest Du über PDI einsteigen und nachgucken, was da nicht stimmt.

von Simon K. (simon) Benutzerseite


Lesenswert?

Travel Rec. schrieb:
> Beim XMega kann man sich nicht aussperren. Höchstens dann, wenn man die
> JTAG-Fuse löscht. Beim und direkt nach dem RESET läuft der Controller
> immer mit 2Mhz.

Und wenn man per JTAG debuggen will? Da ist man ja nicht im RESET ;)

von Fabs (Gast)


Lesenswert?

Einen AVR ISP mkII hab ich leider nicht. Ich hätte noch einen USB-PROG 
und nen Dragon....
Aber PDI sollt ja über JTAGICE mkII gehen. Hab ich allerdings noch nie 
gemacht. Habs schnell im AVR-Studio probiert, aber dann kommt die 
Fehlermeldung "Failed to set emulator mode".
Ich muss mich mal in die PDI-Schnittstelle einlesen.

von Ollz (Gast)


Lesenswert?

> Ich hätte noch ... nen Dragon

Mit aktueller Firmware sollte der xmega JTAG können. (PDI war 
versprochen, geht aber (noch?) nicht).

von Helmut R. (heru01)


Lesenswert?

Hallo Fabs,

Probleme mit Takt und/oder JTAG hatte (/habe) ich auch.
Abhilfe: neueste Treiber von Atmel bzw GCC nehmen. Falls Du mit AVR GCC 
programmierst: ich hatte eine getaggte Version der ioxmega128a1.h und 
hatte übersehen, dass sich diese auch im Laufe der Zeit verändert hat. 
(siehe Thread Beitrag "XMega Clksystem")
Evtl. (falls vorhanden) über PDI Fuses kontrollieren -> JTAG?
JTAG Ice Upgrade probieren.

Viel Glück :-)

Gruß
Helmut

von Fabs (Gast)


Lesenswert?

Hallo Helmut,
ich benutze die neuste Version von AVR GCC (WinAVR-20090313).
Ich werde Morgen mal die PDI-Schnitstelle in Angriff nehmen und hoffe 
das ich damit wieder Zugriff bekomme :-)

Komisch an der ganzen Sache ist auch, dass ich mit dem alten Controller 
Probleme mit den Reset hatte. Nach einem Power-Up hat der Controller 
keinen sauberen Reset ausgeführt, auch nicht nach einem manuellen Reset 
über einen Taster. Erst nach dem Anschluß des Programmiergerätes und 
dessen Start hat er einen ordentlichen Reset durchgeführt.
Mit dem neuen Controller hab ich da allerdings keine Probleme mehr.

Beschaltet ihr eigentlich den Reset-Pin noch zusätzlich mit einem 
Kondensator zu Masse wie bei den  Atmega's? Im Datenblatt kann ich dazu 
nichts finden und auf dem Evalboard scheint auch keiner drauf zu sein.
In meiner Anwendung benutzte ich keinen.

von wt (Gast)


Lesenswert?

ja, 100pF

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.