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?
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
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!
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
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.
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
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!
@ 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.