Forum: Mikrocontroller und Digitale Elektronik JTAG AVR JTAGICE Reverse Engineering


von M. H. (doktorgnadenlos)


Lesenswert?

Dass die JTAG-Schnittstelle nicht nur zum Boundary Scan, wie 
ursprünglich angedacht, genutzt wird, ist klar.
Zumeist wird sie als Programmier-/Debug-Schnittstelle eingesetzt.

Um die JTAG-Schnittstelle nutzen zu können sind die sog. device 
descriptions notwendig, eine Kette von vielen, vielen Bytes. Einige 
dieser device descriptions sind in der ATMEL Doku DOC2475 
veröffentlicht. Prompt macht sich das die AVR-Gemeinde zunutze und hat 
diverse JTAGICE-Nachbauten entwickelt, die aber auch nur diese paar 
AVR-Derivate unterstützen.

Der Grund ist klar : Zur Anbindung an den PC ist seitens ATMEL das Tool 
JTAGICE angedacht. Und die möchten das Gerät natürlich relativ 
hochpreisig an den Mann bringen.

Jetzt kommt’s :
Ist es vorstellbar die Codes für alle übrigen AVRs am originalen JTAGICE 
auszulesen ?
Oder gibt es sonstige Enschränkungen/Hindernisse dazu ?
Im Hinterkopf könnte ich mir vorstellen ein Projekt daraus zu machen, 
welches das JTAGICE zu 100% ersetzen kann.

von Manuel S. (thymythos) Benutzerseite


Lesenswert?

Schau doch erst mal auf www.embedded-projects.net

Für den usbprog gibts schon eine experimentelle Firmware die den JTAGice 
mkII emuliert.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

M. H. wrote:
> Um die JTAG-Schnittstelle nutzen zu können sind die sog. device
> descriptions notwendig, eine Kette von vielen, vielen Bytes. Einige
> dieser device descriptions sind in der ATMEL Doku DOC2475
> veröffentlicht.
Eher doc2524.pdf / AVR060

> Prompt macht sich das die AVR-Gemeinde zunutze und hat
> diverse JTAGICE-Nachbauten entwickelt, die aber auch nur diese paar
> AVR-Derivate unterstützen.
Kann ich nicht bestätigigen, die allermeisten Nachbauten des 
abgekündigten JTAGICE "MK1" (ich kenne nur solche) beruhen auf einer 
kastrierten Version der Originalhardware und schieben dem Controller die 
Originalfirmware untern. Man muss dazu nichts über Descriptoren oder das 
unveröffentliche Debug-Protokoll wissen.

> Der Grund ist klar : Zur Anbindung an den PC ist seitens ATMEL das Tool
> JTAGICE angedacht. Und die möchten das Gerät natürlich relativ
> hochpreisig an den Mann bringen.
Der Grund wird eher sein, dass man nicht zu viel über die 
Debug-Schnittstelle preisgeben will. Aber den eigentlichen Grund kennt 
nur der Hersteller, also alles Spekulation.

> Jetzt kommt’s :
> Ist es vorstellbar die Codes für alle übrigen AVRs am originalen JTAGICE
> auszulesen ?
Werden wohl kaum in der MKI Firmware enthalten sein. Bestenfalls 
irgendwo in der MK2-Firmware, evtl. auch nur im PC-Treiber. Sollte man 
auf embedded-projects aber etwas zu finden.

> Oder gibt es sonstige Enschränkungen/Hindernisse dazu ?
Das eigentliche Debug-Protokoll über JTAG inkl. evtl. einzuhaltender 
Timings. Meines Wissens unveröffentlicht und damit nicht sicher, ob nur 
ein paar weitere Device-Descriptoren reichen.

> Im Hinterkopf könnte ich mir vorstellen ein Projekt daraus zu machen,
> welches das JTAGICE zu 100% ersetzen kann.
Gibt es schon (bootice, ecostec, olimex, evertool etc.), Suchfunktion 
des Forums/google bemühen. Interessant dürfte höchstens sein, das alte 
MK1 mit seiner leicht nachbaubaren Kernhardware mit Firmware zu 
versorgen, die auch neuere AVR unterstützt ("100%+x"). Aber dann wird 
man wohl auch die PC-Software "anpassen" müssen, bei AVRice wohl kein 
Problem, bei AVRStudio aber schon. Aufwand dürfte nicht in Relation zum 
Preis eines JTAGICE MK2 stehen.

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


Lesenswert?

Martin Thomas wrote:

>> Der Grund ist klar : Zur Anbindung an den PC ist seitens ATMEL das Tool
>> JTAGICE angedacht. Und die möchten das Gerät natürlich relativ
>> hochpreisig an den Mann bringen.

> Der Grund wird eher sein, dass man nicht zu viel über die
> Debug-Schnittstelle preisgeben will. Aber den eigentlichen Grund kennt
> nur der Hersteller, also alles Spekulation.

Der offizielle Grund, den Atmel nennt ist, dass sie keine Clones haben
wollen, weil sie die Erfahrung lehrt, dass die Kunden die Clones
am Ende als Atmel-Geräte ansehen und sich bei Atmel über die Fehl-
funktion beschweren gehen.  Das wiederum kostet sie Support-Aufwand.

Beim Preis dieses Teils sollte man auch bedenken, dass davon noch ein
paar Zwischenhändler mit leben wollen...  Es gibt mittlerweile
chinesische Clones (die müssen wohl in der Tat die Hardware gekupfert
haben und vermutlich so einen Crack-Service bezahlt, der die Lockbits
in den Controllern nach Abätzen des Gehäuses rücksetzt, damit sie an
die Bootloader und deren Verschlüsselungsdaten gekommen sind), die
kosten so USD 159...169 -- bei weitem nicht mehr so preiswert, wie
die simplen mkI-Clones, und dabei haben sie schon an den Kabeln
gespart (statt des Flachbandes nur ,,Hosenträger'', was mehr Über-
sprechen zwischen den Signalen riskiert), und auf den Preis darf man
(wenn es beim Zoll nicht gerade ,,durchrutscht'') noch 19 % EUSt.
sowie einen von der Laune des jeweiligen Zollbeamten (oder mit viel
Rennerei ausgehandelten) Zollsatz von einigen Prozent draufschlagen --
und Garantie oder Atmel-Support gibt's keinen dafür.

>> Jetzt kommt’s :
>> Ist es vorstellbar die Codes für alle übrigen AVRs am originalen JTAGICE
>> auszulesen ?

> Werden wohl kaum in der MKI Firmware enthalten sein. Bestenfalls
> irgendwo in der MK2-Firmware, evtl. auch nur im PC-Treiber.

Die geräteabhängigen Daten stehen eigentlich allesamt im device
descriptor auf der Hostseite.  Das ICE kennt darüber nichts.

Wenn die mkI-Cloner nicht allesamt nur von der billig klaubaren
Atmel-Firmware gelebt hätten -- ich bin mir nahezu sicher, dass man
auch das mkI hätte zu mehr AVRs überreden könnte.  Möglicherweise
hätte man die 2 KiB Bootloader wegwerfen müssen, um mehr Platz zu
erhalten (meiner Erinnerung nach war die Firmware schon recht knapp
am Bootloader dran).  Allerdings müsste man dann, um den Kundenkreis
auf mehr als ein paar Hanseln mit AVaRICE auszudehnen, auch noch die
XML-File patchen, damit AVR Studio das auch akzeptiert.

Nachdem ich mir das SVN auf embedded-projects.net heute angesehen habe,
denke ich, dass dort tatsächlich der erste echte Nachbau entstanden
ist, der diesem Namen gerecht wird.

von Holger K. (krulli) Benutzerseite


Lesenswert?

Was soll diese intensive Werbung für den Reengnieerer? Ist schon der 
dritte Beitrag kurz nach Deiner Anmeldung mit dem selben Text...

von Bernd G. (Gast)


Lesenswert?

Wenn man selbst nicht auf die Bretter kommt, versucht man es mit 
Abkupfern, auch vornehm Reverse Engineering genannt. Natürlich wirft der 
interessierte Ing einen Blick in fremde Geräte, um zu sehen, was der 
geschätzte Wettbewerber so tut.
Also, lasst euch was neues einfallen, statt altes zum ennten Male zu 
kopieren. Da ist doch kein Pepp drin.
Für den gewerblichen Einsatz ist der Preis des originalen JTAGICE 
ohnehin nur Kleckerkram, so dass eher keine riesigen Kundenmengen 
zustande kommen.

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


Lesenswert?

Holger Krull wrote:
> Was soll diese intensive Werbung für den Reengnieerer?

Die habe ich dann mal gelöscht.  Habe noch ein weiteres Exemplar
gefunden.

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.