Hallo,
ich hatte über die Feiertage ein bisschen Zeit zum Basteln und auch wieder einen PC mit Parallelport zur Verfügung. Heini66 hatte mir mal zu einem gepufferten EJTAG-Interface geraten, deshalb hab ich mir ein etwas abgespecktes "Wiggler"-Interface gebaut (Bilder anbei). Anders als beim
Wiggler habe ich den
nTRST-Eingang offen gelassen (dann hat er 0 Volt), mit Pullup-Widerstand an VCC macht es aber auch keinen Unterschied. Ach ja, und als Lesedraht habe ich nicht die BUSY-Leitung (11) genommen sondern die für das SELECTED-Signal des Druckers (13), weil die verwendete Debrick-Utility von HairyDairyMaid das so verlangt.
Aus der Windows-Command-Console gestartet schreibt das Programm:
Code:
====================================
WRT54G/GS EJTAG Debrick Utility v4.8
====================================
Probing bus ... Done
Instruction Length set to 5
CPU Chip ID: 11111111111111111111111111111111 (FFFFFFFF)
*** Unknown or NO CPU Chip ID Detected ***
Das ist jetzt mit stromversorgter Fritzbox, ohne Strom sind es lauter Nullen statt der Einsen und FFs.
Zum Programm gehört offenbar eine undokumentierte Datei Namens
Debrick.ini, darin steht:
TCK = 1;
TMS = 2;
TDI = 0;
TDO = 4;
Nun könnte man ja annehmen, dass damit die Belegung des D25-Steckers vom Parallelport konfiguriert wird. Ich habe ein wenig mit den Werten herumgespielt, aber es ändert nichts. Gibt's wirklich keine Doku dazu?
Spaßeshalber hab ich dann mal die graphische Windows-Version probiert, mit dem gleichen Ergebnis.
Hat jemand n'Tipp?
Gruß,
Telefonicus
EDIT:
Inzwischen habe ich herausgefunden, dass es mindestens zwei JTAG-Welten gibt. Da sind zum einen die Legionen der Freunde des Satellitenempfangs, bei denen Wiggler sehr beliebt ist. Und dann gibt es da noch das Fähnlein der unerschrockenen Router-Löter, die mehr auf Xilinx stehen. Bei Ebay finden sich jedenfalls zahlreiche, teils spottbillige JTAG-Adapter vom Wiggler-Typ, Xilinx-kompatible jedoch eher selten.
Der Unterschied liegt hauptsächlich in der Pinbelegung des Printerports:
Wiggler
pin3 (D1) - TMS
pin4 (D2) - TCK
pin5 (D3) - TDI
pin6 (D4) - nTRST
pin11 (BUSY) - TDO
Xilinx
pin2 (D0) - TDI
pin3 (D1) - TCK
pin4 (D2) - TMS
pin13 (SEL) - TDO
Natürlich muss die verwendete Software diese Pinbelegung berücksichtigen. Hairydairymaid, der Autor der
Debrick-Tools[/U]RL für die WRT54-Router von Linksys - bislang eher ein Xilinx-Purist - hat offenbar wegen der großen Verbreitung von Wiggler-Hardware in seiner letzten Version v48 die Startoption /wiggler eingeführt. Originalsoftware dür das Wiggler-Interface erkennt übrigens das Vorhandensein desselben an der Feedback-Brücke von D6 nach ERR.
Die weiter oben erwähnte Datei Debrick.ini gehört zu Sherman Owen's Portierung der Hairydairymaid-Software nach Windows XP, die bei [URL=http://www.ranvik.net/prosjekter-privat/jtag_for_wrt54g_og_wrt54gs/xp%20files%20(working)/]Erik Ranvik zu finden ist. Damit soll es möglich sein, die Software an die Pinbelegung des Adapters zu anzupassen. Ich habe damit nicht weiter experimentiert sondern lieber aus meinem Wiggler- ein Xilinx-kompatibles Interface gemacht.
EDIT 20.5.2008:
Bisherige Erfolge: keine :-(
Mit dem
Testprogramm von Feadi habe ich meinen Xilinx-Adapter auf korrekte Leitungsführung überprüft. Alle Signale sind wo und wie sie sein sollen.
HairyDairyMaid's
wrt54g -probeonly liefert mit und ohne Strom nur Nullen, aber
wrt54g -probeonly /wiggler liefert Nullen oder Einsen je nach Stromversorgungszustand. Dabei liegt TDO doch gar nicht mehr an BUSY (Parallelport Pin 11, wie bei Wiggler) sondern an SEL (Pin 13, wie bei Xilinx), und die Wiggler-Brücke habe ich auch entfernt. Sehr seltsam...
Im Reflextest-Modus
(wrt.exe -reflex-test /instrlen:5 /instrprefix:9 /dataprefix:2) kommen nur lauter Einsen, wenn die Fritzbox unter Strom steht, und lauter Nullen bei stromloser Box. Bzw. beim Start ca. 2 Sekunden Nullen, dann nur noch Einsen. Der probeweise Einbau eines Beruhigungs-Kondensators (nach Feadi) an der D1-Leitung (TCK) brachte keinen Unterschied. Jetzt steckt der Interface-Adapter ohne Kabel direkt am PC.
So far, so brick...