Forum: Mikrocontroller und Digitale Elektronik Xmega mit JTAGICE mkII: Weiterhin RESET nach Programmierung


von Simon K. (simon) Benutzerseite


Lesenswert?

Hallo,

Habe Probleme bei der Programmierung eines ATxmega Prozessors. Ich 
benutze einen JTAG ICE mkII mit Squid Adapter im PDI Modus um das 
Programm (per AVR Studio Tool) in den Chip zu bekommen. Dabei gibt es 
keine Probleme. Fuses können problemlos gesetzt und gelesen werden und 
auch das Programm befindet sich im Flash.
Allerdings hält das JTAGICE mkII den Chip weiterhin im Reset (Und zwar 
mit 1,65V am nRST Pin, Squid-Grün). Ziehe ich den Pin ab, fängt das 
Programm auch an zu laufen (Überprüft mit Minimalstprogramm, das einen 
Pin auf HIGH setzt).

Hat noch jemand das Problem? Ich kann mich nicht erinnern das Problem 
mit normalen AVRs (im ISP Mode) gehabt zu haben. Konnte leider nichts 
mit der Suche finden, obwohl ich mir fast sicher bin, dass wir so ein 
ähnliches Problem schon mal hier hatten.

von Simon K. (simon) Benutzerseite


Lesenswert?

Nachtrag: Neustart hat nichts gebracht und mit meinem AVR ISP mkII 
klappt es. Kann das sein, dass man bei dem JTAG ICE mkII erwartet, dass 
man das Programm sowieso im Debug Modus startet? Oder sowas.

von Helmut R. (heru01)


Lesenswert?

Hallo Simon,
ich habe das gleiche Problem und habe Atmel schon mehrmals 
angeschrieben.
Entweder haben sie mein Problem nicht verstanden oder haben die Mails 
verschmissen, keien Ahnung.
Was setzt Du ein? STK600? JTAGICE mkII.
Was meinst Du mit AVR ISP mkII ? Darüber lässt sich doch IMHO kein XMega 
programmieren?

Kann ich Dich fragen, wie Du einen SW-Reset auslöst?
GCC : asm("jmp 0x0000")  ? oder muss erst die Unlock-Sequenz ausgeführt 
werden und dann Reset Control Register? Hab bis jetzt den Reset auch in 
SW nicht sauber hinbekommen, d.h. Chip hat nicht mehr gestartet. Hmmm.
Ich programmiere mit GCC 4.3.2

Gruß
Helmut

von Simon K. (simon) Benutzerseite


Lesenswert?

Helmut Ru wrote:
> Hallo Simon,
> ich habe das gleiche Problem und habe Atmel schon mehrmals
> angeschrieben.
> Entweder haben sie mein Problem nicht verstanden oder haben die Mails
> verschmissen, keien Ahnung.
Hm, komisch. Vielleicht ein Problem mit dem Computer und nicht mit der 
Hardware, hm. Ich kann es mir auch nicht erklären.

> Was setzt Du ein? STK600? JTAGICE mkII.
JTAGICE mkII, genau.

> Was meinst Du mit AVR ISP mkII ? Darüber lässt sich doch IMHO kein XMega
> programmieren?
Doch, der AVR ISP mkII unterstützt auch PDI Programming (aber kein PDI 
Debugging).

> Kann ich Dich fragen, wie Du einen SW-Reset auslöst?
Gar nicht. Strom aus -> Strom an ;)

von Helmut R. (heru01)


Lesenswert?

Hallo Simon,

das hat mit dem Computer meines Erachtens gar nix zu tun.
Den XMega habe ich auf dem STK600 und auf einem eigenen Board.
Beide werden über JTAG ICE mkII programmiert.

Das Phänomen: jedes mal nach dem Beschreiben vom Flash kann der 
Controller NUR über ein-/ausschalten wieder aktiviert werden. Auch ein 
HW-Reset an Pin nRst - auch ohne Pulldown / auch hart an Masse bringt 
nichts.
Meine Vermutung: die Programmierroutine für das Flash wird über die JTAG 
Ice abgewickelt und man hat vergessen, den State für 'hüpfe nun aus der 
Empfangsroutine und resette den Chip' vergessen.
Ich schätze da kommen noch einige Updates auf uns zu... :-)
Von der Internetpräsenz her genauso. Für den XMega gibt es schon Infos, 
aber DIE zu finden...

Hast Du einen Link zu AVR ISP mkII? Ich habe auf den Atmel Seiten 
gesucht, aber nix von PDI Programming gefunden.
Ist aber nicht so wichtig - rein interessehalber - schließlich habe ich 
eine JtagICe und mit dem Ding kann ich den Chip ja programmieren.


Gruß
Helmut

von Simon K. (simon) Benutzerseite


Lesenswert?

Helmut Ru wrote:
> Hallo Simon,
>
> das hat mit dem Computer meines Erachtens gar nix zu tun.
> Den XMega habe ich auf dem STK600 und auf einem eigenen Board.
> Beide werden über JTAG ICE mkII programmiert.
>
> Das Phänomen: jedes mal nach dem Beschreiben vom Flash kann der
> Controller NUR über ein-/ausschalten wieder aktiviert werden. Auch ein
> HW-Reset an Pin nRst - auch ohne Pulldown / auch hart an Masse bringt
> nichts.
Ja, genau das ist das Problem, das ich hier auch habe.

> Meine Vermutung: die Programmierroutine für das Flash wird über die JTAG
> Ice abgewickelt und man hat vergessen, den State für 'hüpfe nun aus der
> Empfangsroutine und resette den Chip' vergessen.
> Ich schätze da kommen noch einige Updates auf uns zu... :-)
> Von der Internetpräsenz her genauso. Für den XMega gibt es schon Infos,
> aber DIE zu finden...
Das wäre allerdings ne gute Erklärung. Also siehst du das quasi als Bug 
an. Wahrscheinlich sind wir bisher zwei von den wenigen, die versucht 
haben den ATxmega über den JTAG ICE mkII zu programmieren. Du sagtest 
ja, dass Atmel da nicht viel zu zu sagen hat. Naja, mal abwarten :-)

> Hast Du einen Link zu AVR ISP mkII? Ich habe auf den Atmel Seiten
> gesucht, aber nix von PDI Programming gefunden.
> Ist aber nicht so wichtig - rein interessehalber - schließlich habe ich
> eine JtagICe und mit dem Ding kann ich den Chip ja programmieren.
Ja,
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3808
Ganz unten stehts. Mehr Infos findet man übrigens in der AVR Studio 
Hilfe.

von Helmut R. (heru01)


Lesenswert?

Hallo Simon,

gerade kam die Antwort auf Norwegen:

We have sourced this to an error in AVR Studio where the "old" mega 
implementation was used for ATxmega as well. Resulting in that the reset 
line was kept low. You will find a fix here:
http://www.atmel.no/beta_ware/avrstudio416/b628/AvrStudio4Setup.exe

Danach vermutlich : JTAGIce mkII Upgrade
Dann sollte es hoffentlich gehen.

Ich ziehe grad das Paket (bei 8k/s ... Gähn... Bei dem Tempo kann ich 
erst morgen sagen obs geklappt hat... ;-) Was ist schon wieder mit der 
DSL-§ch§ei$$e los??? )

Also, hoffe hiermit auch allen anderen geholfen zu haben,

Gruß
Helmut

PS: Danke Simon für den Link! Hätt net gedacht dass das geht!

von Simon K. (simon) Benutzerseite


Lesenswert?

Helmut Ru wrote:
> Hallo Simon,
>
> gerade kam die Antwort auf Norwegen:
> ...
> Danach vermutlich : JTAGIce mkII Upgrade
> Dann sollte es hoffentlich gehen.
Hey! Sehr gut, das werde ich auch mal probieren.

> Also, hoffe hiermit auch allen anderen geholfen zu haben,
Mir jedenfalls schon. Und wenn jemand anders das hier noch mal findet, 
dann sicherlich demjenigen auch ;)

> PS: Danke Simon für den Link! Hätt net gedacht dass das geht!
Habe ich auch nicht, als ich es letztens hier im Forum gelesen habe. Für 
<40€ kann man den xmega also schon programmieren.

von Simon K. (simon) Benutzerseite


Lesenswert?

@Helmut:
Hm, ich weiß ja nicht ob du das schon ausprobiert hast, aber bei mir hat 
es leider nichts gebracht.
Hab's erst ohne, dann mit Firmware Upgrade des JTAG ICE mkIIs versucht. 
Gleicher Fehler nach wie vor. Das war's also (noch) nicht.

Kannst es ja auch mal probieren.

von Helmut R. (heru01)


Lesenswert?

Hallo Simon,
ja, ich habe das AVR Studio 4.16 Build 628 ausprobiert...
Fazit: gar nix geht mehr. Ich bin gerade wieder am 'downgraden' (was für 
hässliches Wort..)
AVR Studio 4.15 tut soweit; halt mit der einen Einschränkung.

Gruß
Helmut

von Markus F. (Gast)


Lesenswert?

Hallo,

hab grad mal getestet mit AVR Studio 4.16 Build 628 und JTAGICE mkII:
Verhält sich wie bei 4.15.

Neue Erkenntnis (weiß nicht, ob das bei 4.15 auch schon so war):
Wenn man den Programmier-Dialog vom AVR Studio schließt, rennt er los...
Das ist zwar auch nicht im Sinne des Erfinders, aber auch nicht 
schlechter als dauern an- und abstecken.

@Simon: Deine 1.65V am nSRST (der in diesem Fall zu PDI_CLK wird) sind 
ein 1 MHz Rechteck-Signal.

Grüße
Markus

von Markus F. (Gast)


Lesenswert?

Hallo,

per Kommandozeile funktioniert es auch ganz gut, also hab ich mir eine 
Batch-Datei erstellt mit folgendem Inhalt:

"%ProgramFiles%\Atmel\AVR Tools\JTAGICEmkII\jtagiceii" -d ATxmega128A1 
-e -pf -vf -if default\test.hex

Diese ins Projektverzeichnis legen und einfach anklicken zum flashen.
Für zusätzliche Optionen
jtagice -h
eingeben und lesen (z.b. -mp für programmieren via PDI)

Grüße
Markus

von Helmut R. (heru01)


Lesenswert?

Hallo Forum,

neuester Test:
mit der Chiprevision H ist das Problem behoben, dass nach Ende des 
JTAG-Dialogs im AVRStudio zwar immer noch kein Reset automatisch 
ausgeführt wird (AVR Studio 4.15 Build 623, aktivierte Rst-Fkt. im JTAG 
ICE Dialog) , aber immerhin kann der Hardware-Reset ausgelöst werden und 
funktioniert.

Gruß
Helmut

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.