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
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
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
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.
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
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
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.
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
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.
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
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.
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 …]
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.
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...
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.
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.
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
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?