Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Weiter würde mich interessieren ob die CPUs die auf diesen Prints aufgelötet sind noch aus der TI Produktion oder bereits aus der Infineon Produktion stammen.
Ja. In allen drei Boxen schlägt ein CPU Herz von Texas Instruments (TI).
Die Modelle sind ja auch nicht die Neuesten. Am modernsten ist noch die FB5010, aber auch die hat eine CPU von TI (plus Xilinx Spartan Coprozessor).
.
Danke für die gute Erklärung. Verstehe ich so ziemlich.
Um den watchdog zu überlisten:
- Macht es denn Sinn, die Leitungslänge an TCK zu variieren?
Also den Draht kürzer oder länger zu machen?
- Oder den 100 Ohm R näher oder entfernter zur CPU?
- Oder an einer anderen Leitungslänge (TMS) zu spielen?
.
Glaube ich nicht.
Ich habe viel mit /instrprefix und /dataprefix gespielt und auch verschiedenste Werte ausprobiert. Hat nie was gebracht.
Erfolg hatte ich immer dann, wenn die CPU und der Flash Chip korrekt erkannt wurden und die CPU in den debug Modus ging. Dann brauchte es keine weiteren Parameter.
Auch /instrlen:5 wurde automatisch gesetzt.
Dies ist meine erfolgreiche Kommandozeile (damit war ich auch schon ca. 5mal bei der 5010 erfolgreich):
Dann muss die 5010 doch anders sein, als die 5012, bei der konnte ich mtd2 erfolgreich auslesen (zumindest waren die im Hex-Edit geprüften Werte sinnvoll) mit:
Um den watchdog zu überlisten:
- Macht es denn Sinn, die Leitungslänge an TCK zu variieren?
Also den Draht kürzer oder länger zu machen?
- Oder den 100 Ohm R näher oder entfernter zur CPU?
- Oder an einer anderen Leitungslänge (TMS) zu spielen?
OK das schließt schon mal aus, dass die Infineon CPUs sich mit ejtag möglicherweise etwas anders verhalten könnten und den Debug Modus nicht unterstützen, was zu klären währe.
Am modernsten ist noch die FB5010, aber auch die hat eine CPU von TI (plus
Anders formuliert: Die CPU (nicht der Coprozessor) ist der Chip, mit dem ich kommuniziere. Ich hänge ja auch an TDO, nicht an cTDO.
Aber ich musste TRST und cTRST mit 100 Ohm auf 3V3 setzen.
Dass ich mit der CPU kommuniziere, erkennst Du auch an der Meldung von WRT54G:
Code:
CPU Chip ID: 00000000000000000001000000001111 (0000100F)
*** Found a TI AR7WRD TNETD7300* Rev 1 CPU chip ***
Wie gesagt, ich bin da kein Experte, aber so wie ich das verstanden habe funktioniert die feadi-Version ohne "Prefixe" nur, solange nur ein Gerät in der Kette ist??
Auch die Linux-WRT Version wrt54g (von Johann) hatte sich nach meiner Erinnerung bei der 5012 "beschwert" mit "mehr als ein Device gefunden wurde, aber kein /hir oder /tir gesetzt" oder so. Kann ich aber im Moment nicht überprüfen...
Um meine Anschlüsse besser zu erklären, habe ich mir das Foto der FB7050 von Feadi ausgeliehen.
Die FB5050 hat eine identische Anordnung der Kontakte.
Bei der FB5010 sind die Kontakte ebenfalls identisch, sie befinden sich nur an anderer Stelle auf der Platine.
Angeschlossen habe ich (jeweils mit 100 Ohm):
Code:
- TDI (aus der 2x14 Bank) an Pin 2 vom parport
- TDO (aus der 2x5 Bank) an Pin 13 vom parport
- TCK (aus der 2x5 Bank) an Pin 3 vom parport
- TMS (aus der 2x5 Bank) an Pin 4 vom parport
- GND (irgendeinen) an Pin18-25 vom parport
- TRST (aus der 2x14 Bank) an 3V3
- cTRST (aus der 2x5 Bank) an 3V3
- cTDO (aus der 2x14 Bank) darf nicht verwendet werden
Wenn ich das richtig sehe, hast du fast alles an dem "kleinen" (2x5) Feld angedrahtet? Das sollte eigentlich für den Copro sein, wenn ich das recht verstanden hab.
Meine Verdrahtung war nur am "großen" Anschluss und die Bezeichnung cTDO ist da m.E. falsch, der "dritte von oben" auf dem Bild ist TDO (siehe auch mein Foto per Mail zur 5012).
Versuche es doch mal so, ich hatte nur den cTRST auf dem 2x5-er Feld genommen, weil ich da löttechnisch besser dran kam...
Wenn du (wie ich vermute) die Kontakte an "anderer Stelle" in der Chain abgegriffen hast, könnte das durchaus ein verschiedenes Verhalten erklären, denke ich.
Nein, ich glaube, die Beschriftung von Feadi ist korrekt.
Habe anfangs die Verdrahtung so gehabt wie Du vorschlägst, damit wurde die CPU nicht erkannt. Ich denke, damit hängt man am Coprozessor.
Der "dritte von oben" aus der 2x14 Bank ist nur dann TDO, wenn kein Coprozessor vorhanden ist. Andernfalls ist es cTDO.
TDO geht ja zum cTDI, deswegen "Kette" oder "chain".
Korrekte Bezeichnung: TDO/cTDI - und das ist auf der 2x5 Bank.
.
Ich lasse mich ja gern eines besseren belehren, aber bei "meiner Anschlussweise" hat das Zugreifen auf den Speicher weinigstens funktioniert ;-) ;-) (natürlich nur mit den von Feadi angegebenen "prefixen" und /hir: bei der Linuxversion).
Ich vermute, Du hast ein JTAG mit Pegelwandler / level shifter?
Ich arbeite ja nur mit Widerständen. Laut Jpascher bzw. Datenblatt der CPU sollte das gar nicht funktionieren.
Könnte das ein Grund für unterschiedliches Verhalten sein?
.
... ich habe beides, und werde mal versuchen, auch beides zu testen.
Auf die Frage, wo man in der Chain den Anschluss hat, sollte das aber keinen Einfluss haben, denke ich.
Jörg
EDIT: Nochmal etwas gelesen: Vielleicht ist es doch cTDO? Auf jeden Fall soll dieser Anschluss genommen werden (siehe z.B. Posts #36 und #108)
Code:
[...]
TDO vom Dongle musst Du mit cTDO von der FBF verbinden
[...]
make this connections:
FBF - CABLE
TDI -> TDI
cTDO -> TDO
TMS -> TMS
TCK -> TCK
3v3 -> 300 Ohm -> TRST
3v3 -> 300 Ohm -> cTRST
Konnte über Mittag kurz testen:
Mit "Deiner" Belegung geht bei mir gar nichts. CPU wird nicht erkannt, Flash Chip wird nicht erkannt, man muss alle Parameter ("Prefixe") von Hand eingeben und am Ende komme ich doch nicht auf die CPU ...
Noch ein Argument für "meine" Verdrahtung: Damit habe ich die FB5050 perfekt ausgelesen.
An der FB SL war ich dagegen mit "Deiner" Verdrahtung erfolgreich (es gibt ja keine andere, ohne Coprozessor)
Mit der 5050 und der SL hatte ich keine watchdog Probleme ...
Ich vermute, dass der "bissige watchdog" an der FB5010 durch grenzwertige Pegel verursacht werden, weil 3V3 einfach zu wenig ist, für 2 Prozessoren in Kette.
Bin gespannt auf Dein Testergebnis!
-------------------------------------
Edit:
Auch Feadi sagt übrigens ganz deutlich: cTDO wird nicht verwendet
Wenn du tatsächlich, wie ich es vermute, den TDO-Interface-Anschluss an "TDO / cTDI" gelegt hast, hast du dich in die Chain reingehängt. Dann ist zwar bis zu den Antworten "nur ein Device" in der Kette und du brauchst also kein Prefix. Ob so aber die Befehle richtig laufen, wage ich zu bezweifeln...
Aber wie gesagt, graue Theorie ;-)
Jörg
EDIT Ich muss es testen, denn Feadi hat ja hier was anderes geschrieben, als auf seiner Seite. Aber der gute Johann hat ja mehr Ahnung und schreibt hier: "Tools die nur einen Baustein in der Cain unterstützen erfordern, dass man die Leitungen TDO und TDI direkt von der CPU verwendet." Das würde wie deine Ergebnisse für die Verwendung von TDO / cTDI sprechen...
Meine Vermutung:
Ich greife wirklich in die chain und simuliere damit "nur ein device in der chain".
Es sieht aber so aus, als ob damit die Befehle korrekt interpretiert werden.
Kann gut sein, dass beide Methoden funktionieren ???
Mein aktuelles Problem "bissiger watchdog" hat damit wohl nichts zu tun, sondern mit grenzwertigen Signalpegeln.
Mit einem aktiven Interface würde es wahrscheinlich funktionieren.
.