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?
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.
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.
Ich möchte an SAA7219 extern angeschlossenen NOR Flash auslesen und beschreiben.
Ich möchte halt lernen.
Eine Gerät entweder Humax 5300/5400 oder VA-Fox mit SAA7219 gibt es umsonst + Adapter mit FT2232H für 20 Euro.
Oszilloskope + Logik Analysator habe ich auch.
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.
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:
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:
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.
Nun habe ich jetzt Testboard mit einem CPU IBM STB02500 und da entweder
brauche ich ein Datasheet oder eine Hilfe von einem Profi.
Vergiss' es. Genauso wie Deine anderen Settop-Box-Spielereien. Nur weil Du jetzt (vielleicht) einen JTAG-Adapter hast, bist Du nicht Programmer-und-Debug-Gott.
Der standardisierte Weg um die Pinnamen von einem Chip mit den Bits in der JTAG scan chain zu verknüpfen ist die BSDL Datei. Das Dateiformat ist auch Teil des Boundry-Scan Standards.
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.
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...).
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.
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:
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.
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..
Ich habe vor eigenes Jtag Programm mit Ft232h zu schreiben.
Das wird auch klappen.
Da muss ich alle Chip Hersteller anschreiben und hoffen dass was bekomme.
Ich habe vor eigenes Jtag Programm mit Ft232h zu schreiben.
Das wird auch klappen.
Da muss ich alle Chip Hersteller anschreiben und hoffen dass was
bekomme.
Die Dreambox DM 500 hat ebenfalls einen STB025xx verbaut. Dafür gibt es Tools für den JTAG Zugriff und man könnte sich anschauen was die Tools genau machen.
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.
Nun auch Fehler gefunden, meine Code tut da nichts in Jtag BSR schalten)
Also Signale OE, CE und WE bleiben unverändert, also werden nicht durch meine Code beeinflusst)