CPU SAA7219 per Jtag auf Basis FT2232H ansprechen - Tool schreiben

#8027948
Lesenswert?

Hallo, Ich brauche Hilfe und zwar ich möchte über CPU SAA7219 verbaut in einem Humax 5400 den internen NOR Flash auslesen/programmieren. Ein fertiges Soft/Programm kenne ich nicht.

Kann mir jemand den Fahrplan aufstellen: Welche Hardware und welche Software benötigt wird?

Danke.

#8028008
Lesenswert?

Jük P. schrieb:

den internen NOR Flash auslesen/programmieren.

Das Ding hat kein internes Flash, jedenfalls steht nichts davon im Datenblatt. Das beschreibt auch in der verfügbaren Kurzform, daß so etwas extern angeschlossen wird.

https://www.alldatasheet.com/datasheet-pdf/download/19042/PHILIPS/SAA7219HS.html

Wenn es ein internes Flash-ROM hätte, wäre sehr wahrscheinlich eine Auslesicherung gesetzt.

Was möchtest Du mit dem Inhalt des Flash-ROMs anfangen? Etwa irgendwas dran ändern?

#8028012
Lesenswert?

Ich habe meine Datenbücher und CDs gesucht, im Philips-Datenbuch IC02 von 1998 steht der SAA7219 noch nicht drin, die PDFs auf der CD dazu sind von 1997.

Die PDFs im Internet zum SAA7219 sind von 1997 bis 2001, aber man findet nur das 20-seitige Datenblatt ohne eine Beschreibung der Programmierung.

Schade, nach 25 Jahren wird auch nicht mehr viel dazu zu finden sein.

Es gab einen Humax-Receiver der auch den SAA7219 enthält: https://monitor.espec.ws/files/f1-fox_service_manual_197.pdf

Auf Seite 34 von 50 ist der SAA7219 als U2 gezeigt.

: Bearbeitet durch User
#8028028
Lesenswert?

Moin,

Obwohl mein Hirnfurzdetektor arg am Anschlag ist: Du brauchst ein JTAG interface (keine Ahnung, ob du das mittels FT2232H hinkriegst) und dazu passende Software wie z.b. openocd (keine Ahnung, ob openocd den SAA7219 unterstuetzt) oder irgendwas entsprechendes von z.b. Lauterbach oder Segger. Damit ist dann das Lesen/Loeschen/Beschreiben des Flashs, was an dem SAA haengt, prinzipiell moeglich. Aber da die PR3930 MIPS CPU nicht gerade weit verbreitet zu sein scheint, und du nun hier im Forum nicht gerade den Eindruck eines - hm - Kaepsele erweckst, wird das wohl eh' nix werden.

Gruss WK

#8028039
Lesenswert?

#8028058
Lesenswert?

Auf einen MIPS per JTAG (bzw. eigentlich EJTAG) zuzugreifen ist nicht schwer. "Damals" vor vielen Jahren als PayTV Hacking noch relativ weit verbreitet war hat man meistens einfach den LPT Port des PC dazu verwendet (das war zu Zeiten von Windows 95/2000/XP, unter Windows 2000/XP ging der direkte LPT Zugriff problemlos mit z.B. GiveIO).

Als Source Code Basis kann man sich z.B. das "HairyDairyMaid WRT54G Debrick Utility" ansehen, das lässt sich relativ einfach an die MIPS CPUs in den TV Set-Top Boxen anpassen. Hier gibt es eine Variante davon:

https://github.com/trinitronx/HairyDairyMaid_WRT54G_Debrick_Utility

Das Ganze dann auf JTAG per FTDI Chip umzubauen ist ebenfalls kein allzu großes Problem.

#8028324
Lesenswert?

Dieter S. schrieb:

Als Source Code Basis kann man sich z.B. das "HairyDairyMaid WRT54G Debrick Utility" ansehen, das lässt sich relativ einfach an die MIPS CPUs in den TV Set-Top Boxen anpassen. Hier gibt es eine Variante davon:

https://github.com/trinitronx/HairyDairyMaid_WRT54G_Debrick_Utility

Das Ganze dann auf JTAG per FTDI Chip umzubauen ist ebenfalls kein allzu großes Problem.

Kling nach dem besten Vorschlag bisher. WRT54G und andere Router aus der Zeit sind alles MIPS Kisten.

Dergute W. schrieb:

nd dazu passende Software wie z.b. openocd (keine Ahnung, ob openocd den SAA7219 unterstuetzt) oder irgendwas entsprechendes von z.b. Lauterbach oder Segger. Damit ist dann das Lesen/Loeschen/Beschreiben des Flashs, was an dem SAA haengt, prinzipiell moeglich. Aber da die PR3930 MIPS CPU nicht gerade weit verbreitet zu sein scheint

Nur als generelle Ergänzung, der Ansatz oben ist schneller und schon vorhanden:

Um z. B. ein NOR Flash anzusprechen (lesen/löschen/schreiben) das an einem JTAG Boundry-Scan fähigen Chip (Prozessor, FPGA,...) hängt muss "nur" das Interface vom NOR Flash bekannt sein und an welchen Pins vom Prozessor/FPGA es hängt. Der Prozessor kann genutzt werden muss man aber nicht. Per JTAG Boundry-Scan kann man alle Pins nacheinander auf die nötigen Pegel setzen und sie auslesen. So zu sagen Bit-banging per JTAG, also entsprechend langsam.

Üblichere Testersoftware hat das drin. Kann z. B benutzt werden um nach dem Boardtest einen Bootloader ins Flash zu schreiben.

#8049954
Lesenswert?

Nun habe ich folgendes Problem:

  1. Source Code https://github.com/RacingTornado/jtag_mpsse
  2. CY7C68013A-56 EZ-USB FX2LP USB 2.0 Development Board https://www.amazon.de/Comimark1-CY7C68013A-56-EZ-USB-Development-Analyzer/dp/B0855FJDBX

Mein Vorgehen

  1. Ich kompiliere Code von Punkt 1 (gcc und Windows 10).
  2. Ich beschreibe externen Eeprom von CY7C68013A mit vid 0x0403 und pid 0x6010, zuweise Treiber mit Zadiq WinUSB, damit es die FTDI treiber verwendet.

Korrekt so? Über eine Hilfestellung würde ich mich sehr freuen. Danke.

Als Ausgabe bekomme ich

Hi <<< ftdi: reset failed

Angehängte Dateien:
: Bearbeitet durch User
#8052623
Lesenswert?

Nun habe ich jetzt Testboard mit einem CPU IBM STB02500 und da entweder brauche ich ein Datasheet oder eine Hilfe von einem Profi.

ID Code - es wird was ausgelesen aber stimmt denke nicht. ID Code IBM STB02500 laut Internet sollte lauten: 0x12955049

Bekomme ich die die Unterlagen von CPU IBM STB02500 oder wie kann ich mein Problem lösen?

Es gibt Leute die mein Problem lösen, kommt man ohne Zugang zu den Unterlagen hin?

Danke.

Angehängte Dateien:
: Bearbeitet durch User
#8052647
Lesenswert?

Dergute W. schrieb:

FT232H Adapter mit der EL11 verbinden?

Wollen Sie damit sagen, geht nicht?

Ich habe keine Unterlagen von dieser CPU STB02500 und im Bereich Jtag Software selbst zu schreiben NUll-Ahnung.

Dann muss ich denke lieber zu SAA7219 oder STi5518 greifen) Da finde ich im Netz nötige Unterlagen hoffe ich und Testboard mit der CPU zur Nulltarif.

Irgendwie Erfahrung muss ich machen und ein Überblick verschaffen.

Trotzdem Danke.

: Bearbeitet durch User
#8054874
Lesenswert?

BSDL Datei für IBM39 STB02500 habe ich schon. Muss ich mal erst nachsehen, wie es funktioniert zb bei wrtjp.5.2 angepasst für AVM FRITZ!Box Fon WLAN 7170 https://openwrt.org/toh/avm/fritz.box.wlan.7170

Zum spielen als Testgerät werde ich mir wohl ein AVM FRITZ!Box Fon WLAN 7170 besorgen.

Christoph Z. schrieb:

standardisierte Weg um die Pinnamen von einem Chip mit den Bits in der JTAG scan chain zu verknüpfen ist die BSDL Datei

Das muss ich mir erstmal verinnerlichen und dann wie man es überhaupt in C umsetzt + dann für MPSSE umsetzt... Also habe noch viel vor.

Angehängte Dateien:
: Bearbeitet durch User
#8054936
Lesenswert?

Also im Göpel läuft das so, dass das Target in den Test Mode gesetzt wird und dann die BS fähigen Zellen an den IOs quasi vom Kern entkoppelt sind. Dann kann man an den Pins wackeln. Dauert aber alles, denn man muss ja alles immer durch die gesamte Kette durch schieben. Und man muss wissen, was man eventuell noch so machen muss (Spannung einschalten, irgend ein Enable setzen, andere Chips vom Bus nehmen...).

#8054943
Lesenswert?

Jtagprogramme wie HairyDairyMaid WRT54G Debrick Utility, Urjtag usw laufen nach gleicher Logik IEEE1149.1?

Denn bis jetzt bei den Programmen oben erwähnt könnte ich die Anbindung Pins Nor Flash an CPU nicht finden...

Wie ich verstanden habe da müssen alle Adressleitungen A0 bis A19, Daten Q0 bis Q15, OE, WE, CE usw. an CPU Pins hingewiesen.

Nun wie es aussieht es gibt eine alternative zu IEEE1149.1 und das ist EJtag.

Es steht so viel müll im Internet.............

Angehängte Dateien:
: Bearbeitet durch User
#8054979
Lesenswert?

Jük P. schrieb:

Wie ich verstanden habe da müssen alle Adressleitungen A0 bis A19, Daten Q0 bis Q15, OE, WE, CE usw. an CPU Pins hingewiesen.

Naja, du brauchst den Schaltplan und das BSDL File, dann weißt du, an welcher BS Zelle welcher Pin vom Flash hängt. Ohne Schaltplan mindestens das Datenblatt des Prozessors um zu schauen, ob das NOR Interface nur eine Belegung kennt.

#8055002
Lesenswert?

Jük P. schrieb:

Jtagprogramme wie HairyDairyMaid WRT54G Debrick Utility, Urjtag usw laufen nach gleicher Logik IEEE1149.1?

Denn bis jetzt bei den Programmen oben erwähnt könnte ich die Anbindung Pins Nor Flash an CPU nicht finden...

Wie ich verstanden habe da müssen alle Adressleitungen A0 bis A19, Daten Q0 bis Q15, OE, WE, CE usw. an CPU Pins hingewiesen.

Nun wie es aussieht es gibt eine alternative zu IEEE1149.1 und das ist EJtag.

Es steht so viel müll im Internet.............

Nein, EJTAG ist nur der Test-Access-Port zum Core. 1149.1 definiert die JTAG state machine, EJTAG basiert darauf, bzw. definiert das Debug-Protokoll. Wenn deine MIPS-CPU gesichert darauf basiert, solltest du mit OpenOCD und gdb schon mal Register sehen können.

Um externe Flash-Chips anzusprechen, gibt's grundsätzlich per JTAG die zwei Methoden:

  1. Per ICE (OpenOCD): Da lädst du eine kleine Treibersoftware in den Core, der per JTAG Flash-Operationen durchführt (schneller Zugriff). Das ist in diesem Fall EJTAG-spezifisch und setzt typischerweise auf einer JTAG-Lib auf, die grob eine Sequenz von IR/DR schreibt/liest.

  2. BSDL wie supachris schon oben beschrieben hat: Langsamer Zugriff, knifflig, effektiv auf dem FT2232 zu implementieren.

Gute BSDL-Tools sind teuer (*), mit goJTAG kann man mal zum Testen der Hardware anfangen, aber man muss genau wissen, was man tut, es ist auch schon teure Hardware den Jordan runter..

(*) Habe früher solche entwickelt

#8055758
Lesenswert?

Eine Platine dreambox 500 habe ich auch. Da wird auch abgelötet und gemessen.

Foto im Anhang.

Mir ist die source code von Interesse. Den Tool und viele andere kenne ich auch ,ich kenne auch die Leute die das sehr gut können. Nur die geben keine info raus(

Sehr gutes Werkzeug habe ich , ich kann auch sehr vieles was mehrheit nicht traumen kann.

Dieses mal möchte aber etwas mehr lernen und von Grund auf.

Angehängte Dateien:
: Bearbeitet durch User
#8055900
Lesenswert?

Ich habe jetzt alle Pins nor flash zu cpu.

WE# - E21, CE# - D21, OE# - B20

Und der Rest identisch mit Topfield.

Die Schaltpläne von dm500s kommen von China, deswegen da keine verständliche Nummerierung.

Die Frage noch wegen Adressen, die fangen bei Null an und laufen bis?

Sonst denke 16 bit Daten, von MD0 bis MD15.

Adressen von MA0 bis MA19.

Danke vorab.

Angehängte Dateien:
: Bearbeitet durch User
#8076835
Lesenswert?

Code geschrieben, nun aber korrekt nur CPU ID ausliest. Beim Nor Flash ID auslesen, kommt nur Datenmüll.

Deshalb habe ich vor, die Pegeln an OE, WE, CE, D0 und A0 mit einem Logikanalysator auszulesen. Sonst komme nicht weiter.

Dann bestimmt noch die JTAG-Frequenz für IBM39STB02500 wichtig + Timeout für AM29LV160BB.

Angehängte Dateien:
: Bearbeitet durch User
#8078008
Lesenswert?

Pin 12 Reset Nor Flash AM29LV160BB ist nicht angeschlossen, also liegt in der Luft. Das ist wohl Grund, warum meine Code nicht den Flash steuern kann.

Auf dem Mainboard ist aber ein Resistor R202 vorgesehen und nicht bestückt. Also ich werde da ein 10 kOhm Resistor einlöten und berichte weiter).

Angehängte Dateien:
: Bearbeitet durch User

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren