Forum: Mikrocontroller und Digitale Elektronik JTAG - Grundsätzliche Frage


von Michl (Gast)


Lesenswert?

Hallo,

also soweit ich das verstanden habe, ist JTAG ja eine universelle 
Schnittstelle, die von der IEEE definiert wurde. Wieso brauche ich dann 
für fast jeden µC-Typ eine andere Schaltung zum debuggen? Wieso gibt es 
keinen universellen JTAG Debugger, mit dem ich AVR, ARM, FPGA usw. 
debuggen kann ohne jedesmal neue Hardware zu kaufen?
Ich habe z.B. diesen usbProg, welchen ich eigentlich nur mit der AVRISP 
Clone Firmware nutze.
Es gibt dafür aber z.B. auch eine Universal JTAG Firmware, doch was kann 
man damit anfangen? AVR Studio wird sie ja wohl kaum unterstützen...

http://www.embedded-projects.net/index.php?page_id=184

Schönes Wochenende,

da Michl

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Es ist nicht der Adapter allein, sondern ein Paket aus Adapterhardware 
und Software ist für JTAG erforderlich.

[zitat http://hri.sourceforge.net/tools/jtag_faq_org.html]
The only problem is that some companies do not open all details about 
available custom JTAG commands (JTAG standard defines only 2 necessary 
commands: EXTEST and SAMPLE and some optional commmands like INTEST, 
BIST and others).
[/zitat]

Und manche Hersteller liefern ihre proprietäre Library zur 
Interpretation ihrer erweiterten JTAG-Kommandos nur mit ihrem 
proprietären Hardwareadapter aus oder verkaufen die Infos an 
Adapterhersteller...

Damit hast du die Erkärung für die vielen unterschiedlichen 
hochpreisigen JTAG-Adapter auf dem Markt.

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


Lesenswert?

Michl schrieb:
> also soweit ich das verstanden habe, ist JTAG ja eine universelle
> Schnittstelle, die von der IEEE definiert wurde. Wieso brauche ich dann
> für fast jeden µC-Typ eine andere Schaltung zum debuggen?

Weil sie von der IEEE nur in ihrer Hardware normiert worden ist
sowie in ihrer eigentlichen Funktion: dem Test der Verdrahtung von
Baugruppen.  Ich glaube, die Programmierfunktionalität ist ebenfalls
genormt und funktioniert daher noch herstellerübergreifend, während
die diversen Debug-Funktionen jeder Hersteller nach eigenem Gutdünken
obendrauf gesetzt hat.  Da ist schlicht nichts standardisiert, weil
das nicht der ursprüngliche Sinn und Zweck von JTAG war/ist.

Eine gewisse Sonderstellung hat da der ARM-Prozessor, aber das liegt
eher an der Art, wie dieser Prozessor den Weg zu den einzelnen IC-
Herstellern findet.

(Es genügt übrigens keineswegs, wenn nur die Kommandos selbst bekannt
sind, bspw. dokumentieren alle AVRs, dass sie die Kommandos 8...11
fürs On-Chip-Debugging benutzen.  Damit allein kannst du eben nur
noch keinen Debugger/Emulator bauen.)

von Michl (Gast)


Lesenswert?

Vielen Dank für die hilfreichen Antworten! Hat mir sehr geholfen.

Schönes Wochenende wünscht

da Michl

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.