jtag und avr butterfly

M

Mark Andrew

Guest
hallo!

ich versuche gerade Fuss zu fassen im Mikrocontroller Umfeld und habe
mir
einen AVR Butterfly zugelegt. Ich kann es mit v24 programmieren und
bin von den kleinen Teil absolut begeistert. Jetzt moechte ich
auch onboard debuggen. Kann ich einfach den billigen € 40 JTAG Dongle
anschliessen
und dann alles mit AVR Studio machen? Warum kostet der JTAG ICE von
Atmel gleich
das 7-fache? Verpasse ich hier irgendwas?

Gibt's zB ein Problem mit der Stromversorgung? Der Butterfly geht
naemlich bis
4.5 V und der Dongle will vom Target 5 V, habe ich gelesen.

Hat jemand hier das schon mal gemacht?

Danke im vorraus
--

Mark
 
ich versuche gerade Fuss zu fassen im Mikrocontroller Umfeld und habe
mir
einen AVR Butterfly zugelegt. Ich kann es mit v24 programmieren und
bin von den kleinen Teil absolut begeistert. Jetzt moechte ich
auch onboard debuggen. Kann ich einfach den billigen ? 40 JTAG Dongle
anschliessen
und dann alles mit AVR Studio machen? Warum kostet der JTAG ICE von
Atmel gleich
das 7-fache? Verpasse ich hier irgendwas?

Die nachgebauten JTAG-Dongles z.B. von www.olimex.com oder die
Selbstbaudinger basierend auf http://avr.openchip.org/bootice/ haben meist
keinen Levelkonverter drinnen und funktionieren nur bei 5 V Targetspannung
zuverlässig. Die DebugWire-Schnittstelle der neuen AVRs unterstützen sie gar
nicht (dafür gibts seit kurzem den Atmel JTAG ICE II). Weiters haben die
Nachbau-Dongles kein USB-Interface (die serielle Schnittstelle ist auch bei
115 kB ein Flaschenhals).

Dazu kommen Probleme beim Softwareupdate:

Bei fast jeder neuen Version von Atmel AVR Studio (so auch beim aktuellen
4.0.9) liegt ein Firmwareupdate für den des JTAG ICE dabei, das für den
Betrieb notwendig ist. Beim originalen Atmel JTAG ICE läuft das Update
problemlos. Bei jedem mir bekannten Nachbau-ICEs ist hingegen eine ziemliche
aufwändige Prozedur notwendig, Gehäuse öffnen, tw. Leitungen anlöten, mit
einem anderen Programmer (muss auch erst mal vorhanden sein) die Boot-Flags
ändern, mit Studio die neue Firmware reinladen, Bootflags wieder
zurückändern. Die Anleitung von Olimex ist 5 Seiten lang! Dass die in ihrer
Produktbeschreibung lapidar "upgradable via AVR Studio" reinschreiben, ist
eigentlich ein Witz. Andere wie http://microcontrollershop.com/, die die
Olimex-Dongles auch verkaufen, schreiben gleich mal vollmundig "full
function replacement for Atmel's AVR JTAG ICE" rein, weil sie offensichtlich
noch nie einen Firmwareupdate probiert haben...

Aber zugegeben, wenn man den Aufwand beim Softwareupdate nicht scheut und
keine 3.3 V AVRs debuggen will, kann man sich mit den Nachbau-Dongles ein
paar hundert Euros ersparen. Das Debuggen funktioniert grundsätzlich gleich
gut.

Schön wäre halt, wenn ATMEL sich endlich dazu durchringen könnte, eine
Bauanleitung inkl. Bootloader für den JTAG ICE zu veröffentlichen.

Georg
 
vielen dank Georg fuer die sehr ausfuehrliche, wenn auch unerfreuliche, Information

--

Mark
 
"Georg Meister" <georg.meister@gmx.at> schrieb:

funktionieren nur bei 5 V Targetspannung
zuverlässig.
Das stimmt so nicht. Zumindest 3 V sollten sie noch ordentlich tun,
so sie mit einem ATmega16L (nicht 163) ausgerüstet sind, da dieser
auch bei 3 V mit 8 MHz getaktet werden darf. Natürlich muß auch der
MAX232 mit 3 V zuverlässig arbeiten können (hängt u. U. vom Hersteller
ab).

Sie entsprechen damit komplett dem AVR JTAG ICE, sofern dieses direkt
vom Target gespeist wird (und nicht autonom versorgt). Ganz nebenbei,
das AVR-Teil, das ich rumliegen habe, hat einen ATmega163 drin, kann
also in diesem Modus nicht mehr garantiert mit 3 V arbeiten.

Lediglich unter 3 V wird's eng, also z. B. einen ATmega169V mit 1,8 V
betrieben zu debuggen.

Dazu kommen Probleme beim Softwareupdate:

Beim originalen Atmel JTAG ICE läuft das Update problemlos. Bei
jedem mir bekannten Nachbau-ICEs ist hingegen eine ziemliche
aufwändige Prozedur notwendig, Gehäuse öffnen, tw. Leitungen
anlöten, mit einem anderen Programmer (muss auch erst mal vorhanden
sein) die Boot-Flags ändern, mit Studio die neue Firmware reinladen,
Bootflags wieder zurückändern.
Warum das? Das BootICE wird doch bereits im Original via AVR910-
Schnittstelle mit der Firmware versorgt, warum sollten da die Upgrades
nicht funktionieren? (Die ISP-Schnittstelle braucht man eigentlich
nur einmal für die Inbetriebnahme, um den Bootloader reinzunageln.)

Schön wäre halt, wenn ATMEL sich endlich dazu durchringen könnte,
eine Bauanleitung inkl. Bootloader für den JTAG ICE zu
veröffentlichen.
Meinst Du, die 100 Teile Hühnerfutter für die Pegelwandler würde
wirklich jemand freiwillig auflöten wollen? Die Atmel-Pegelwandler
sind zugegebenerweise genial (sie können in beiden Richtungen wandeln,
also V[ICE] <=> V[target]), aber eben auch mächtig aufwendig. Die
Ausgangsschutzbeschaltung ist auch nicht ganz ohne Aufwand, auch diese
fehlt bei den Nachbauten. Andererseits denke ich, daß diese für die
USD 300 des Originalteils ja vielleicht gerechtfertigt wäre, während
ein EUR 50 Teil in diesem Falle eher als ,,selbsttätige Sicherung''
fungieren kann. ;-)

--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
 
Achso:

"Georg Meister" <georg.meister@gmx.at> schrieb:

Weiters haben die Nachbau-Dongles kein USB-Interface (die serielle
Schnittstelle ist auch bei 115 kB ein Flaschenhals).
Hat das originale Atmel (also nicht das MkII oder wie's jetzt
heißt) aber auch nicht.
--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
 
funktionieren nur bei 5 V Targetspannung
zuverlässig.

Das stimmt so nicht. Zumindest 3 V sollten sie noch ordentlich tun,
so sie mit einem ATmega16L (nicht 163) ausgerüstet sind, da dieser
auch bei 3 V mit 8 MHz getaktet werden darf. Natürlich muß auch der
MAX232 mit 3 V zuverlässig arbeiten können (hängt u. U. vom Hersteller
ab).

Bei den Olimex-Adaptern ist nur ein ATmega16 ohne L drinnen und ein normaler
MAX232.


Sie entsprechen damit komplett dem AVR JTAG ICE, sofern dieses direkt
vom Target gespeist wird (und nicht autonom versorgt). Ganz nebenbei,
das AVR-Teil, das ich rumliegen habe, hat einen ATmega163 drin, kann
also in diesem Modus nicht mehr garantiert mit 3 V arbeiten.

Lediglich unter 3 V wird's eng, also z. B. einen ATmega169V mit 1,8 V
betrieben zu debuggen.

Das kann der erste Atmel JTAG ICE übrigens auch nicht.


Dazu kommen Probleme beim Softwareupdate:

Beim originalen Atmel JTAG ICE läuft das Update problemlos. Bei
jedem mir bekannten Nachbau-ICEs ist hingegen eine ziemliche
aufwändige Prozedur notwendig, Gehäuse öffnen, tw. Leitungen
anlöten, mit einem anderen Programmer (muss auch erst mal vorhanden
sein) die Boot-Flags ändern, mit Studio die neue Firmware reinladen,
Bootflags wieder zurückändern.

Warum das? Das BootICE wird doch bereits im Original via AVR910-
Schnittstelle mit der Firmware versorgt, warum sollten da die Upgrades
nicht funktionieren? (Die ISP-Schnittstelle braucht man eigentlich
nur einmal für die Inbetriebnahme, um den Bootloader reinzunageln.)

Ich kann dir versichern, die normalen Updates funktionieren definitiv nicht.
Es liegt daran, dass der Bootloader BOOTICE nicht ganz kompatibel zur
restlichen ATMEL-Firmware ist. Für den Update werden vermutlich irgendwelche
Unterprogramme im Bootloader angesprungen, die im BOOTICE gar nicht drin
sind oder an einer anderen Adresse. Jedenfalls hängt sich das Update auf und
danach funktioniert der Adapter überhaupt nicht mehr.


Schön wäre halt, wenn ATMEL sich endlich dazu durchringen könnte,
eine Bauanleitung inkl. Bootloader für den JTAG ICE zu
veröffentlichen.

Meinst Du, die 100 Teile Hühnerfutter für die Pegelwandler würde
wirklich jemand freiwillig auflöten wollen? Die Atmel-Pegelwandler
sind zugegebenerweise genial (sie können in beiden Richtungen wandeln,
also V[ICE] <=> V[target]), aber eben auch mächtig aufwendig. Die
Ausgangsschutzbeschaltung ist auch nicht ganz ohne Aufwand, auch diese
fehlt bei den Nachbauten. Andererseits denke ich, daß diese für die
USD 300 des Originalteils ja vielleicht gerechtfertigt wäre, während
ein EUR 50 Teil in diesem Falle eher als ,,selbsttätige Sicherung''
fungieren kann. ;-)

Es wäre schon mal was, wenn Atmel den Source oder zumindest die Binaries der
kompletten Firmware zugänglich machen würde. Die Hardware dces JTAG-ICE 1
ist ja hinlänglich bekannt.

Die neuen AVRs (inkl. ATmega256) haben alle die DebugWire-Schnittstelle,
dafür gibts bisher überhaupt keine Nachbaulösung.


Georg
 
Georg Meister wrote:
funktionieren nur bei 5 V Targetspannung
zuverlässig.

Das stimmt so nicht. Zumindest 3 V sollten sie noch ordentlich tun,
so sie mit einem ATmega16L (nicht 163) ausgerüstet sind, da dieser
auch bei 3 V mit 8 MHz getaktet werden darf. Natürlich muß auch der
MAX232 mit 3 V zuverlässig arbeiten können (hängt u. U. vom Hersteller
ab).


Bei den Olimex-Adaptern ist nur ein ATmega16 ohne L drinnen
Der ATmega16L ist ein ATmega16 mit anderer Aufschrift.

Ich kann dir versichern, die normalen Updates funktionieren definitiv nicht.
Laut Olimex ein Bug in der ersten Firmware der angeblich mittlerweile
behoben ist.
 
Bei den Olimex-Adaptern ist nur ein ATmega16 ohne L drinnen

Der ATmega16L ist ein ATmega16 mit anderer Aufschrift.

Nur ein anderer Stempel wirds wohl nicht sein. Das wäre ja Unsinn, die
Produktpalette künstlich aufzublasen.

Der Herstellungsprozess ist vermutlich derselbe, aber durch die
Fertigungsschwankungen. haben die Chips ohne "L" den Funktionaltest bei 3.0V
eben nicht geschafft. Kann natürlich sein, dass sie bei etwas niedriger
Taktfrequenz doch noch funktionieren. Ähnliche Vorgehensweise gibts bei
Geschwindigkeitsklassen von Speichern, Genauigkeitsklassen von Wandlern,
usw.

In einer kommerziellen Anwendung würde ich einen ATmega ohne "L" bei 3 V
nicht betreiben wollen. Bei einem Selbstbaudongle ist es wahrscheinlich
egal.


Ich kann dir versichern, die normalen Updates funktionieren definitiv
nicht.

Laut Olimex ein Bug in der ersten Firmware der angeblich mittlerweile
behoben ist.

Nun meine zwei Olimex-Dongles können es anscheinend nicht. Eben erst neu
gekauft. Mit der mehrseitigen Prozedur wie auf www.olimex.com beschrieben,
gehts dann, aber eben sehr mühselig.

Ich hab auch den JTAG-ICE von avr.openchip.org/bootice/ nachgebaut. Mit der
dort verfügbaren Firmware gehts das auch nicht. Sollte jemand einen neueren
Bootloader haben, der das reguläre Update schafft, bitte den Link posten.

Georg
 
Georg Meister wrote:
Bei den Olimex-Adaptern ist nur ein ATmega16 ohne L drinnen

Der ATmega16L ist ein ATmega16 mit anderer Aufschrift.


Nur ein anderer Stempel wirds wohl nicht sein. Das wäre ja Unsinn, die
Produktpalette künstlich aufzublasen.
Natuerlich werden sie auch anders getestet.

Der Herstellungsprozess ist vermutlich derselbe, aber durch die
Fertigungsschwankungen. haben die Chips ohne "L" den Funktionaltest bei 3.0V
eben nicht geschafft.
Ich wuerde eher andersrum vermuten, dass bei den ATmega16L einige den
Funktionstest bei 16 MHz nicht bestanden haben.

In einer kommerziellen Anwendung würde ich einen ATmega ohne "L" bei 3 V
nicht betreiben wollen.
Klar, aber bei einem Lowcost-JTAG-Dongle ist's ziemlich egal.
 
Am 08 Jun 2004 12:22:13 GMT hat Andreas Schwarz <usenet@andreas-s.net>
geschrieben:

Georg Meister wrote:
Natuerlich werden sie auch anders getestet.

Der Herstellungsprozess ist vermutlich derselbe, aber durch die
Fertigungsschwankungen. haben die Chips ohne "L" den Funktionaltest bei
3.0V
eben nicht geschafft.

Ich wuerde eher andersrum vermuten, dass bei den ATmega16L einige den
Funktionstest bei 16 MHz nicht bestanden haben.

Da glaube ich eher die obere Aussage. So ich mich erinnere sind die 16L
aber mit 16MHz@5V und 8MHz@3V spezifiziert, die 16er aber nur bei 5V
(16MHz).


In einer kommerziellen Anwendung würde ich einen ATmega ohne "L" bei 3 V
nicht betreiben wollen.

Klar, aber bei einem Lowcost-JTAG-Dongle ist's ziemlich egal.


--
Martin
 

Welcome to EDABoard.com

Sponsor

Back
Top