Forum: Mikrocontroller und Digitale Elektronik Worin unterscheiden sich JTAG I/F Hardware


von Hellmut K. (hkohlsdorf)


Lesenswert?

Hallo Freunde

Ich habe nun von Xilinx die rote Box um auf ihre Produkte zuzugreifen 
und ich habe für die LPCXpresso Karten das dort beinhaltete JTAG I/F.

Ich kann mir vorstellen, dass die SW der zugehörigen IDE "ihre" HW für 
das JTAG-I/F kennt und somit die Code Red IDE die JTAG-Schnittstelle der 
LPCXpresso bedienen kann, entsprechend die Xilinx IDE ihre rote Box.

Eigentlich sind doch die Signale die mit dem JTAG I/F zusammenhängen 
überall die gleichen. Warum hat dann "jede" forma ihre eigene Jtag I/F 
Box?

von Frank K. (fchk)


Lesenswert?

Du könntest auch fragen "Warum hat jeder Drucker seinen eigenen 
Treiber?"

JTAG wurde ursprünglich für den on-board-Test entwickelt - das 
Programmieren und Debuggen von Logik, Speicher und Controllern war 
ursprünglich nicht vorgesehen und ist auch nicht Bestandteil des 
Standards. Da das nicht Bestandteil des Standards ist, hat jeder 
Hersteller auf seine Weise etwas dazugebastelt.

Das Xilinx-Interface zB unterstützt zudem nicht nur JTAG, sondern auch 
die proprietären Master Serial und Slave Serial Modi und dann noch SPI.

Die Interfaces bestehen nicht nur aus Hardware, sondern auch aus 
Software, die in den Boxen läuft, und die ist in höchstem Maße 
systemspezifisch.

fchk

von Hellmut K. (hkohlsdorf)


Lesenswert?

Danke, selbiges habe ich vermutet, aber wollte es mir bestätigen lassen. 
Bedeutet also für jeden Hersteller muss man sich das passende JTAG I/F 
zulegen, außer eine IDE gibt an ein mehr "generisches JTAG I/F zu 
unterstützen. Gibt es so was und wenn ja welche für welche Hersteller/ 
Produktfamilien. Danke!

von Frank K. (fchk)


Lesenswert?

Hellmut Kohlsdorf schrieb:
> Danke, selbiges habe ich vermutet, aber wollte es mir bestätigen lassen.
> Bedeutet also für jeden Hersteller muss man sich das passende JTAG I/F
> zulegen

Genau. Das ist der Normalfall. In der Industrie ist das aber kein 
Problem, die zugehörige Software ist teurer.

> außer eine IDE gibt an ein mehr "generisches JTAG I/F zu
> unterstützen. Gibt es so was und wenn ja welche für welche Hersteller/
> Produktfamilien. Danke!

Vereinzelt gibt es das. Das Keil ULink2 kann zB 8051, 80251, C166/167 
und ARM. Die Keil Compiler selber liegen aber im Kiloeuro-Bereich.

Wenn Du als Bastler Geld sparen willst: vergiss es.

fchk

von Hellmut K. (hkohlsdorf)


Lesenswert?

Frank, nein um das Geldsparen geht es mir im konkreten Fall nicht. Mir 
geht es darum sicherzustellen, dass das was ich meine in Erfahrung 
gebracht zu haben auch stimmt.

Meinen ersten Kontakt mit JTAG hatte ich als Vertriebsingenieur von 
Motorola Halbleiter GmbH. Ich war damals verantwortlich für die 
Betreuung der Siemens Nixdorf Informationssysteme AG für den 
süddeutschen Raum. Motorola entwickelte dabei für die letzte geplant 
mainframe Generation von SNI sowohl den Halbleiterprozess, dafür wurde 
in Arizona eine eigene Halbbleiterfabrik aufgebaut, wie auch in 
Zusammenarbeit mit den Ingenieur-Teams von SNI die Bauelemente. JTAG I/F 
wurde damals verwendet um die erzeugten Testvektoren dem IC zuzuführen.

Jetzt bin ich seit über 12 jahren in der Zwangspause und verdiene mein 
Auskommen durch technische Übersetzungen und Consulting.

Schade das jeder sein eigenes Ding baut. Standardisierung der Art wie 
bei den ARM Cortex Mx controller, wo für jede Peripherie die IP 
definiert ist, bzw. wird ist letzlich für alle von Vorteil.

von Frank K. (fchk)


Lesenswert?

Hellmut Kohlsdorf schrieb:

> Schade das jeder sein eigenes Ding baut. Standardisierung der Art wie
> bei den ARM Cortex Mx controller, wo für jede Peripherie die IP
> definiert ist, bzw. wird ist letzlich für alle von Vorteil.

Auch bei den Cortex'en macht jeder Hersteller sein eigenes Ding. 
Standardisiert ist nur genau das, was von ARM kommt: Prozessorkern, 
Debug und Trace, Interruptcontroller, Systick Timer. Punkt. Schon solche 
Banalitäten wie UARTs und SPI/I2C sind bei ST völlig anders gelöst als 
bei Atmel oder TI, ganz zu schweigen vom Programmieren des chipinternen 
Flashs.

fchk

von Hellmut K. (hkohlsdorf)


Lesenswert?

Nicht ganz korrekt Frank, es wird, von ARM vorgeschrieben, eine API 
definiert, so daß Programme die auf die Peripherie über diese APi 
zugreifen sehr leicht auf andere ARM Cortex Controller übertragen werden 
können! Schöner Nebeneffekt davon ist, dass die Lizenznehmer von ARM auf 
die Qualität der Bibliotheken, welche diese API bereitstellen, sehr 
achten müssen, da sonst ihre Anstrengungen in der Implementation auf 
Silizium verpuffen! Ein Beispiel dafür ist NXP, welche Code red 
logischer Weise übernommen haben, erworben haben, da auch die IDE einen 
durchschlagenden Effekt auf die Leistungsparameter einer Lösung mit 
ihren ARM Cortex Mx Produkte haben. Ein anderer positiver Nebeneffekt 
ist die Bereitstellung billiger HW durch diese Hersteller, wieder als 
beispiel die LPCXpressoxxxx von NXP über Embedded Artists oder auch die 
tollen Platinen von ST!

von Falk B. (falk)


Lesenswert?

@ Hellmut Kohlsdorf (hkohlsdorf)

>Schade das jeder sein eigenes Ding baut. Standardisierung der Art wie
>bei den ARM Cortex Mx controller, wo für jede Peripherie die IP
>definiert ist, bzw. wird ist letzlich für alle von Vorteil.

Ja, das könnte man machen. Zumindest bis zu einem bestimmten Punkt, dass 
JEDE JTAG Box bis zu einer bestimmten Softwareebene kompatibel zu jeder 
anderen ist und nur die WIRKLICH architekurspezifischen Dinge von den 
jeweiligen Programmen gemacht werden müssen. Damit könnte jedes 
JTAG-Kabel mit jeder Zielplattform und jeder Software zusammenarbeiten. 
Geht in anderen Bereichen schließlich auch. Jeder Drucker muss über 
einen allgemeinen Druckerttreiber Mindestfunktionen bereitstellen. Wer 
mehr will, braucht halt den speziellen Druckertreiber.

Das Problem ist hier wie so oft, dass jeder lieber sein eigenes Süppchen 
kocht und keinen Bock auf Standardisierung hat. Erst wenn der 
Leidensdruck und die Kosten zu hoch werden, wird sich was bewegen.

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.