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_common:jtag_readout_mainboard_flash [Thu. 07.02.2019 07:17] – ↷ Links angepasst weil Seiten im Wiki verschoben wurden go4it | artikel:nav_common:jtag_readout_mainboard_flash [Fri. 26.07.2019 17:44] – go4it | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== Mainboard |
- | ===== Die Aufgabe | + | ===== Infos ===== |
- | Diese Anleitung beschreibt wie man den **kompletten | + | Der Flash-Speicher auf den Navigations-Mainboards (Spansion S29GL...) ist direkt am Hauptprozessor, |
- | ===== Das Problem ===== | ||
- | 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: | + | ===== Mittels Segger J-Link Interface ===== |
- | Der OMAP enthält neben einer ARM9-CPU und einem DSP auch einen Coprozessor und zahlreiche andere Komponenten, ähnlich einem Mikrocontroller. RAM und Flash können per Design extern angeschlossen werden. Dieser Umstand ermöglicht eine gewisse Vorhersage wie und an welchen Pins der OMAP ein Flash bedient. Mit Hilfe eines JTAG-Flash-Readers und den richtigen Einstellungen ist es grundsätzlich kein Problem das Flash auszulesen. | + | Um den Inhalt des Flash nur auszulesen, genügt die günstige, nicht-kommerzielle " |
- | 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_fx: |
- | {{artikel:nav_fx:flash-download_failed.jpg? | + | :!: **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!** |
- | Gleichzeitig | + | Die benötigte Software (J-Flash) |
- | 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 (µPD70F3283) überwacht. Erhält dieser innerhalb von 10 Sekunden kein " | + | ==== Schritt 1) JTAG-Interface mit dem Mainboard verbinden ==== |
- | 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, | + | [[artikel: |
- | Es gibt aber noch eine Alternative! Die Entwickler des Radios waren so freundlich einen IO-Port des Radioprozessors an den rechten, nicht bestückten, | + | ==== Schritt 2) Den Watchdog |
- | ===== Die Lösung ===== | + | Auf dem Mainboard steuert ein NEC V850 Mikrocontroller (der sog. " |
- | Für die Umsetzung verwende ich einen relativ preiswerten " | + | Hierzu muss eine **Drahtbrücke zwischen Pin 3 und Pin 13** des [[: |
- | {{artikel: | + | ==== Schritt 3) Einstellungen im J-Flash vornehmen ==== |
- | in Verbindung mit der zugehörigen Software (J-Flash). | + | In der recht umfangreichen Liste der unterstützten CPUs ist der OMAP5948 leider nicht enthalten. Dieser Chip wurde speziell für Bosch hergestellt und es existieren keine öffentlich verfügbaren Datenblätter darüber. Er basiert jedoch auf dem OMAP5912 und dieser enthält eine ARM926EJ-S CPU, welche wiederum von J-Flash |
- | ==== Schritt 1) JTAG-Interface anschließen ==== | + | Hierzu unter " |
- | [[artikel:nav_common:jtag_connect_mainboard|Den Segger J-Link am mit dem Serviceport des Mainboards verbinden]] | + | {{artikel:nav_fx:projectopts_general.jpg? |
- | ==== Schritt 2) Den Radioprozessor deaktivieren ==== | + | === JTAG-Einstellungen |
- | Hierzu muss eine **Drahtbrücke zwischen Pin 3 und Pin 13** des [[artikel:nav_common:jtag_connect_mainboard|rechten Serviceports]] hergestellt werden. Ich habe mir hierfür aus dem Elektronikversand einen 14-poligen Micro-Match Header bestellt und aufgelötet. Dann kann ich mit einfachen Dupon-Kabeln die Brücke herstellen. Man kann hier natürlich auch einen Schalter oder einfach ein Stück Kuperleitung anlöten. | + | {{artikel:nav_fx:projectopts_target-interface_maxspeed.jpg? |
- | ==== Schritt 3) Einstellungen im J-Flash vornehmen ==== | + | === CPU-Typ wählen |
- | In der recht umfangreichen | + | Einfach " |
- | {{artikel: | + | {{artikel: |
- | {{artikel: | + | === Flash Chip einstellen === |
- | **Diese | + | Auf " |
+ | |||
+ | {{artikel: | ||
+ | |||
+ | === Weitere | ||
+ | |||
+ | {{artikel:nav_fx: | ||
+ | |||
+ | {{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 77: | ||
'' | '' | ||
- | {{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: |