Forum: Mikrocontroller und Digitale Elektronik Frage zu Atmel JTAGICE mkII


von Bastian (Gast)


Lesenswert?

Hallo,

wenn ich das richtig verstanden habe unterstützt das JTAGICE mkII neben 
JTAG auch ISP via SPI und debugging via Debug-wire.

Ist es mit dem JTAGICE mkII auch möglich Controller zu flashen (nicht 
debuggen) die kein JTAG oder Debugwire unterstützen z.B. Atmega8 ?


Gruß

Bastian

von AntonWert (Gast)


Lesenswert?

Sorry "Rahul Der trollige" aber muss dir wiedersprechen.
Entweder hab ich hier eine Sonderanfertigung von Atmel oder das MKII 
kann das einfach.

@Bastian:

Im User Guide steht's auch:
Programming with JTAGICE mkII (Both JTAG and ISP mode)....

Gruß
Anton

von Thilo M. (Gast)


Lesenswert?

ISP kann der sehr wohl! Die unterstützten Typen findest du hier:
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3353

von Bastian (Gast)


Lesenswert?

Hallo,

erstmal vielen Dank für die Antworten.
Vielleicht habe ich mich etwas unklar ausgedrückt, was ich wissen wollte 
ist, ob Controller die kein JTAG oder Debugwire unterstützen konkret der 
Atmega8
via ISP unterstützt werden.

Jetzt hab ich folgendes gefunden:

Supported devices for ISP mode and oscillator calibration only:
AT90PWM2, AT90PWM3, ATmega168, ATmega48, ATmega88, ATtiny13,
ATtiny2313, ATtiny24, , ATtiny44, ATtiny84, ATtiny25, ATtiny45, 
ATtiny85,
ATtiny261, ATtiny461, ATtiny861, ATmega48P

Bedeutet das, dass ich für den Atmega8 dann das AVRISP mkII benötige
und JTAGICE mkII dafür nicht verwenden kann?



Gruß

Bastian

von cguru (Gast)


Lesenswert?

ATmega8 hat ein ISP Interface und der mkII den passenden Deckel dazu. 
Dass muss eigentlich auf jeden Fall funktionieren.
Ich gehe mal davon aus, dass der mega8 (so wies scheint) nicht in der 
"Supportlist" enthalten ist, da er vom mega88 bereits "ersetzt" wurde.

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Also ich halt mich eigentlich an die Grundregel:

Das JTAGICE mkII kann alle Atmel-Controller flashen. Entweder über JTAG, 
ISP oder DebugWire. Das einzige was es NICHT kann ist HV-Programmierung.

Gruß,

Thomas

von Chris M. (norgac)


Lesenswert?

Hi,

Thomas Finke wrote:
> Das JTAGICE mkII kann alle Atmel-Controller flashen. Entweder über JTAG,
> ISP oder DebugWire. Das einzige was es NICHT kann ist HV-Programmierung.

das würde bedeuten, dass auch der ATmega8 mit dem JTAGICE mkII 
programmiert werden kann. Kannst du mir sagen, wie das geht? Laut 
http://support.atmel.no/bin/customer?custSessionKey=&customerLang=en&noCookies=true&action=viewKbEntry&id=20 
ist es nicht möglich, aber vielleicht gibt's ja einen Trick oder ein 
Workaround?

Grüße
Chris

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


Lesenswert?

Chris M. wrote:

> das würde bedeuten, dass auch der ATmega8 mit dem JTAGICE mkII
> programmiert werden kann. Kannst du mir sagen, wie das geht?

Ausschließlich mittels ISP, d. h. du benutzt das JTAG ICE mkII als
(zugegebenermaßen relativ teuren) ISP-Adapter.

von Chris M. (norgac)


Lesenswert?

Hi Jörg,

>> das würde bedeuten, dass auch der ATmega8 mit dem JTAGICE mkII
>> programmiert werden kann. Kannst du mir sagen, wie das geht?
>
> Ausschließlich mittels ISP, d. h. du benutzt das JTAG ICE mkII als
> (zugegebenermaßen relativ teuren) ISP-Adapter.

der liegt bei mir aber gerade herum ;)

Ich habe versucht, eine vorhandene Platine mit ATmega8 mittels JTAGICE 
mkII zu programmieren. Dazu habe ich den zum JTAGICE gehörenden Adapter 
auf den 6-poligen ISP-Stecker verwendet. (Der Adapter ist anscheinend 
korrekt, jedenfalls lässt sich ein ATmega162V auf STK500 
ISP-programmieren.)

Im AVR-Studio wird nach dem Konnektieren zum JTAGICE als Device jedoch 
kein ATmega8 angeboten, und der Controller in der Schaltung bleibt 
anscheinend permanent im Reset (zumindest lassen die LED-Zustände dies 
vermuten).

Wie kann ich AVR-Studio dennoch dazu bringen, den ATmega8 im ISP-Modus 
zu flashen? Oder muss ich gar statt AVR-Studio eine andere Software 
einsetzen?

Grüße
Chris

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


Lesenswert?

Chris M. wrote:

> Im AVR-Studio wird nach dem Konnektieren zum JTAGICE als Device jedoch
> kein ATmega8 angeboten, und der Controller in der Schaltung bleibt
> anscheinend permanent im Reset (zumindest lassen die LED-Zustände dies
> vermuten).

Das zeigt nur, dass AVR Studio einfach mal unbedienbar ist. :-/

Du könntest ja avrdude nehmen...  Aber es geht auch mit AVR Studio,
du musst aber eben ausdrücklich den ISP-Modus für das JTAG ICE mkII
auswählen.

von Chris M. (norgac)


Lesenswert?

Hi Jörg,

> Aber es geht auch mit AVR Studio,
> du musst aber eben ausdrücklich den ISP-Modus für das JTAG ICE mkII
> auswählen.

den ISP-Modus habe ich ausgewählt, trotzdem wird mir im AVR-Studio bei 
der Device-Auswahl der ATmega8 nicht angezeigt (vermutlich weil er 
offiziell nicht unterstützt wird). Hier komme ich also anscheinend nicht 
weiter.

> Du könntest ja avrdude nehmen...

AVRDUDE + AVR8 Burn-O-Mat habe ich jetzt mal getestet. Damit kann ich 
mittels JTAGICE2 und ISP meinen ATmega8 beschreiben, auslesen usw. Fein, 
danke!

Was ich beim JTAGICE2 (gegenüber dem STK500) schade finde, ist die 
Tatsache, dass ich mein Target nicht über das Programmiergerät versorgen 
kann. Ich muss also eine externe Versorgungsspannung ans Target anlegen. 
Somit ist VTarget am ISP-Port des JTAGICE2 also nur zum auslesen der 
Targetspannung nützlich, sehe ich das richtig?

Noch eine Frage nachgeschoben: Kann ich mit einfachsten Mitteln das 
Flashen, Lockbits-Setzen und Verifizieren automatisieren? Quasi per 
"1-Click"®-Aktivierung. Könnte doch prinzipiell mit einem Batchfile 
gehen, oder?

Grüße
Chris

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


Lesenswert?

Chris M. wrote:

> den ISP-Modus habe ich ausgewählt, trotzdem wird mir im AVR-Studio bei
> der Device-Auswahl der ATmega8 nicht angezeigt (vermutlich weil er
> offiziell nicht unterstützt wird). Hier komme ich also anscheinend nicht
> weiter.

Aktuelle Version installiert?  Ich wüsste nicht, warum die das
ablehnen sollten...  Aber gut, ich mag mich mit diesem Teil (wie
du obigem Posting sicher schon entnehmen konntest :) nicht selbst
rumschlagen.


> Was ich beim JTAGICE2 (gegenüber dem STK500) schade finde, ist die
> Tatsache, dass ich mein Target nicht über das Programmiergerät versorgen
> kann. Ich muss also eine externe Versorgungsspannung ans Target anlegen.

Ja, keine Ahnung, warum sie sich nicht getraut haben, die Spannung
mit rauszuführen.  Du kannst natürlich ein zweites USB-Kabel nehmen
und da bis zu 100 mA abgreifen.

> Somit ist VTarget am ISP-Port des JTAGICE2 also nur zum auslesen der
> Targetspannung nützlich, sehe ich das richtig?

Es wird außerdem dazu benutzt, die Pegelwandler für die Signale zu
versorgen.  Das sollte man berücksichtigen, wenn man mit angestecktem
ICE Sleep-Ströme messen will, da fließen noch einige 100 µA drüber
ins ICE.

> Noch eine Frage nachgeschoben: Kann ich mit einfachsten Mitteln das
> Flashen, Lockbits-Setzen und Verifizieren automatisieren? Quasi per
> "1-Click"®-Aktivierung.
1
avrdude -p m8 -c jtag2_isp -P usb -U yourfile.hex -U lock:w:0xfc:m

von Chris M. (norgac)


Lesenswert?

Hi Jörg,

> Aktuelle Version installiert?  Ich wüsste nicht, warum die das
> ablehnen sollten...  Aber gut, ich mag mich mit diesem Teil (wie
> du obigem Posting sicher schon entnehmen konntest :) nicht selbst
> rumschlagen.

ja, Version ist aktuell. Darf ich noch die Frage loswerden, mit welcher 
IDE du arbeitest? Ich bin mal gerade ambitionerter Einsteiger, vom Chef 
ins kalte Wasser gestürzt worden ;) und noch auf der Suche nach einer 
passenden Arbeitsumgebung. Da erschien mir das AVR-Studio + WinAVR - 
nach allem, was ich bisher an Informationen dazu gelesen habe - als ganz 
passend. Diese Annahme scheint aber nicht allgemeingültig zu sein :)

> [… weitere interessante Informationen …]

1
> avrdude -p m8 -c jtag2_isp -P usb -U yourfile.hex -U lock:w:0xfc:m

Super, danke! Werde es trotzdem noch mal genau nachlesen, aber anhand 
eines korrekten Beispiels ist das Nachvollziehen immer einfacher.

Grüße
Chris


PS: Machst du auch noch etwas anderes als hier im Forum Fragen zu 
beantworten? So schnelle Antworten wie hier von dir habe ich bisher 
selten erlebt. Danke nochmal.

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


Lesenswert?

Chris M. wrote:

> Darf ich noch die Frage loswerden, mit welcher
> IDE du arbeitest?

Ich mach' seit 17 Jahren nichts anderes als Emacs. ;-)

> PS: Machst du auch noch etwas anderes als hier im Forum Fragen zu
> beantworten?

Ja klar, arbeiten. :)  Aber zwischendurch muss man eh' immer mal
Pausengymnastik machen.  Außerdem teste ich gerade recht viel und
habe dann Zeit, auf das Auftreten des nächsten Bugs in der
Firmware zu warten...

von Thomas F. (thomas-hn) Benutzerseite


Lesenswert?

Hast Du Admin-Rechte unter dem Account unter welchem Du versuchst das 
AVR Studio zu nutzen?
Die Atmel-Entwicklungsumgebung hat teilweise ihre Macken wenn sie keinen 
Admin-Account hat.
Anonsten einfach mal Rechner und Hardware alles aus- und wieder 
einschalten und dann nochmal versuchen den ATmega8 auszuwählen.
Wenn ich mich gerade nicht total irre, müsste es dann eigentlich gehen.

Gruß,

Thomas

P.S. Zu der einen Frage von ganz oben. Das JTAGICE mkII kann ISP, JTAG 
und debugWire. Das Debuggen geht aber NUR über JTAG und debugWire. ISP 
bietet hierzu keine Funktionalität.

von Chris M. (norgac)


Lesenswert?

Hi Jörg + Thomas,

sorry für die späte Rückmeldung; eine Auslandsdienstreise, Urlaub und 
ein paar wichtigere und dringendere Baustellen haben mich von meinen 
AVR-Forschungen abgehalten.

Mit AVRDUDE komme ich mittlerweile gut klar, nachdem es doch noch einige 
Anlaufschwierigkeiten gab. Das AVRDUDE-Handbuch und ein wenig 
Netzrecherche haben hier jedoch weitergeholfen.

Der ATmega8 ist übrigens definitiv nicht mit AVR-Studio + JTAGICE mkII 
zu programmieren - auch wenn dies prinzipiell blödsinnig ist. Naja, 
wahrscheinlich eine Entscheidung des Marketings.

Das letzte Problem, das ich bisher noch nicht lösen konnte, betrifft die 
Lockbits. Schreiben und Lesen funktioniert, aber AVRDUDE wertet nur die 
ersten 6 Bits aus, sodass ich bei der Verifikation mittels AVRDUDE immer 
eine Fehlermeldung bekam. Hat ein Weilchen gedauert, bis mir der Grund 
dafür klar wurde. Nun kann ich zwar im Parameter für AVRDUDE einen 
Lockbyte-Hexwert angeben, der nur die ersten 6 Lock-Bits berücksichtigt, 
schön wäre es jedoch, wenn ich dort den gleichen Hexwert eintragen 
könnte, wie AVR-Studio ihn mir anzeigt. Gibt's da einen Trick oder 
vielleicht eine Änderungsmöglichkeit im avrdude.conf oder muss ich mich 
einfach damit abfinden?

Vielen Dank und Grüße

Chris


PS: Falls es sinnvoller erscheint, dieses Posting zu einem neuen Thread 
zu machen, bitte ich um Verschiebung.

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


Lesenswert?

Chris M. wrote:

> Der ATmega8 ist übrigens definitiv nicht mit AVR-Studio + JTAGICE mkII
> zu programmieren - auch wenn dies prinzipiell blödsinnig ist. Naja,
> wahrscheinlich eine Entscheidung des Marketings.

Ich denke, dass das eher ein Versehen ist.

Wenn ich das XML-File des neuesten AVR Studios richtig interpretiere,
dann sollte damit auch der ATmega8 mit dem JTAG ICE mkII fürs
Programmieren möglich sein.  Der Tag dafür ist jedenfalls drin.

> Das letzte Problem, das ich bisher noch nicht lösen konnte, betrifft die
> Lockbits. Schreiben und Lesen funktioniert, aber AVRDUDE wertet nur die
> ersten 6 Bits aus, sodass ich bei der Verifikation mittels AVRDUDE immer
> eine Fehlermeldung bekam. [...]

https://savannah.nongnu.org/bugs/?21954

von Daniel (Gast)


Lesenswert?

in dem Manual 
http://www.msc-ge.com/en/129-www/version/default/part/AttachmentData/data/AT90JTAGICE_User_Guide.pdf 
steht:

"The JTAGICE mkII does not support ISP as a general programming 
interface, but has got limited ISP support for handling the DWEN fuse 
and Chip Erase. ISP is supported by Atmel’s STK500 and AVRISP."

wenn ich das richtig verstehe kann man damit im ISP kein Programm 
flashen sondern nur die DWEN-fuse programmieren und ein Chip Erase 
machen. ist das der Grund, warum man kein Mega8 damit programmieren 
kann?

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.