Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
artikel:nav_fx:mainboard_flash_auslesen [Fri. 07.12.2018 21:34] – ↷ Links angepasst weil Seiten im Wiki verschoben wurden 54.36.149.84 | artikel:nav_common:jtag_readout_mainboard_flash [Fri. 08.02.2019 13:53] – go4it | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Den Flash-Speicher vom Mainboard über JTAG auslesen ====== | ====== Den Flash-Speicher vom Mainboard über JTAG auslesen ====== | ||
- | ===== Die Aufgabe | + | ===== Mittels Segger J-Link Interface |
- | Diese Anleitung beschreibt wie man den **kompletten | + | Um den Inhalt des Flash nur auszulesen, genügt die günstige, nicht-kommerzielle " |
- | ===== Das Problem ===== | + | {{artikel: |
- | Der Flash-Speicher selbst hat keinen JTAG-TAP (Interface). Er ist mit dem Hauptprozessor, | + | :!: **Keine Ahnung ob die China-Clones davon genauso gut funktionieren wie das Original. Bei dem relativ günstigen Preis des EDU würde ich jedoch ein Original vorziehen da dies sicher qualitativ hochwertiger ist!** |
- | Da der OMAP5948 eine Sonderproduktion für die Firma BOSCH ist, gibt es keinerlei öffentlich verfügbare Dokumentation darüber im Internet. Meine Recherchen haben aber ergeben das dieser mit hoher Wahrscheinlichkeit dem OMAP5912 entspricht. Mehr darüber im [[artikel:nav_fx: | + | Die benötigte Software (J-Flash) kann direkt und kostenlos von der Segger Homepage heruntergeladen werden: |
- | Der OMAP enthält neben einer ARM9-CPU und einem DSP auch einen Coprozessor und zahlreiche andere Komponenten, | + | ==== Schritt 1) JTAG-Interface mit dem Mainboard verbinden ==== |
- | Es gibt jedoch ein Problem! Einzelne Sektoren lassen sich problemlos übertragen. Will man aber mehr als 5 oder 10 Sektoren übermitteln (das Flash enthält 256 Sektoren), kommt es zum Übertragungsabbruch: | + | [[artikel:nav_common: |
- | {{artikel: | + | ==== Schritt 2) Den Watchdog vom Radioprozessor deaktivieren ==== |
- | Gleichzeitig kann beobachtet werden das der Stromverbrauch des Geräts gegen Null sinkt. An diesem Problem sind bislang alle die im Internet darüber berichten gescheitert. Niemand hat es bislang geschafft | + | Auf dem Mainboard steuert ein NEC V850 Mikrocontroller (der sog. " |
- | Der Grund für diese Abbrüche ist schnell erklärt: Um via JTAG auf den Flash-Speicher zugreifen zu können wird als erstes die CPU angehalten und die Speicherverwaltungseinheit deaktiviert. Nur so können Zugriffskonflikte vermieden werden. Gleichzeit wird damit auch die auf dem OMAP laufende Anwendung gestoppt. Die Programmausführung auf dem OMAP wird jedoch von einem Watchdog im Radioprozessor | + | Hierzu muss eine **Drahtbrücke zwischen Pin 3 und Pin 13** des [[artikel:nav_common: |
- | Um das Flash also vollständig (unterbrechungsfrei) herunterladen zu können, muss dieser Watchdog entweder deaktiviert werden, oder weiterhin Keep-Alive-Pakete für den Watchdog auf den SPI erzeugt werden. Letzteres wäre per Software sicher möglich. Viele Flash-Reader, wie auch der Segger, laden via JTAG nach anhalten der CPU eigenen Programmcode in den Arbeitsspeicher des OMAP und lassen ihn ausführen. Dieser Programmcode liest dann den Flash byteweise aus und sendet die Daten direkt über JTAG zum Programm auf dem PC. Das geht deutlich schneller als die Leseoperationen auf Signalebene über JTAG-Boundaryscan-Register zu emulieren. In diese Software könnte ein findiger Programmierer auch eine Routine für das senden der Keep-Alive-Pakete implementieren. | + | ==== Schritt 3) Einstellungen im J-Flash |
- | Es gibt aber noch eine Alternative! Die Entwickler des Radios waren so freundlich einen IO-Port des Radioprozessors an den rechten, | + | In der recht umfangreichen Liste der unterstützten CPUs ist der OMAP5948 leider |
- | ===== Die Lösung ===== | + | Hierzu unter " |
- | Für die Umsetzung verwende ich einen relativ preiswerten " | + | {{artikel:nav_fx: |
- | {{artikel: | + | === JTAG-Einstellungen === |
- | in Verbindung mit der zugehörigen Software (J-Flash). | + | {{artikel: |
- | ==== Schritt 1) JTAG-Interface anschließen ==== | + | === CPU-Typ wählen |
- | [[artikel:nav_fx: | + | Einfach " |
- | ==== Schritt 2) Den Radioprozessor deaktivieren ==== | + | {{artikel: |
- | Hierzu muss eine **Drahtbrücke zwischen Pin 3 und Pin 13** des [[artikel: | + | === Flash Chip einstellen === |
- | ==== Schritt 3) Einstellungen im J-Flash vornehmen ==== | + | Auf " |
- | In der recht umfangreichen Liste der unterstützten CPUs ist der OMAP5948 (ebenso wie der OMAP5912) leider nicht enthalten. Das ist aber kein Problem, den mit den richtigen Einstellungen kann man sich diese selbst herstellen. Hierzu unter " | + | {{artikel: |
- | {{artikel: | + | === Weitere Einstellungen... === |
- | {{artikel:nav_nx:setup_complete_256.jpg?direct&200|}} | + | {{artikel:nav_fx:projectopts_production.jpg? |
- | **Diese Einstellungen als Projektdatei Downloaden: | + | {{artikel: |
+ | |||
+ | === Einstellungen sichern === | ||
+ | |||
+ | Am Ende erhält man eine Übersicht der Einstellungen im Hauptbildschirm: | ||
+ | |||
+ | {{artikel: | ||
+ | |||
+ | Diese speichert man sich am besten als " | ||
==== Schritt 4) Download starten ==== | ==== Schritt 4) Download starten ==== | ||
- | {{artikel: | + | {{artikel: |
- | {{artikel: | + | {{artikel: |
- | {{artikel: | + | {{artikel: |
==== Schritt 5) Flashdump abspeichern ==== | ==== Schritt 5) Flashdump abspeichern ==== | ||
Zeile 63: | Zeile 71: | ||
'' | '' | ||
- | {{artikel: | + | {{artikel: |
===== Weiterführende Informationen ===== | ===== Weiterführende Informationen ===== | ||
- | * Zu diesem Thema gibt es auch einen Blog von mir im mondeo-mk4.de Benutzerforum: | + | Zu diesem Thema gibt es auch einen Blog von mir im mondeo-mk4.de Benutzerforum: |
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Der Flash-Speicher selbst hat keinen JTAG-TAP (Interface). Er ist mit dem Hauptprozessor, | ||
+ | |||
+ | Da der OMAP5948 eine Sonderproduktion für die Firma BOSCH ist, gibt es keinerlei öffentlich verfügbare Dokumentation darüber im Internet. Meine Recherchen haben aber ergeben das dieser mit hoher Wahrscheinlichkeit dem OMAP5912 entspricht. Mehr darüber im [[artikel: | ||
+ | |||
+ | Der OMAP enthält neben einer ARM9-CPU und einem DSP auch einen Coprozessor und zahlreiche andere Komponenten, | ||
+ | |||
+ | Für die Umsetzung verwende ich einen relativ preiswerten " | ||
+ | |||
+ | {{artikel: | ||
+ | |||
+ | in Verbindung mit der zugehörigen Software (J-Flash). | ||