artikel:nav_common:jtag_readout_mainboard_flash

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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 [Fri. 08.02.2019 13:53] – [Weiterführende Informationen] go4itartikel:nav_common:jtag_readout_mainboard_flash [Fri. 26.07.2019 18:20] go4it
Zeile 1: Zeile 1:
-====== Den Flash-Speicher vom Mainboard über JTAG auslesen ======+====== Mainboard Flash per JTAG auslesen und beschreiben ======
  
-===== Mittels Segger J-Link Interface =====+===== Ziel =====
  
-Um den Inhalt des Flash nur auszulesen, genügt die günstige, nicht-kommerzielle "EDU"-Version des Segger J-Link Interfaces:+Der Flash-Speicher auf den Navigations-Mainboards (Spansion S29GL...) ist direkt am Hauptprozessor, einem Texas Instruments "OMAP5948ZXFangeschlossen. Der OMAP verfügt über eine JTAG-Schnittstelle und darüber kann man auch den Inhalt des Flash auslesen bzw. programmieren.
  
-{{artikel:nav_fx:segger_j-link_edu.jpg?direct&320|}}+===== Benötigte Teile und Hilfsmittel =====
  
-:!: **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!**+Alle hier gezeigten Schritte werden mit einem **Segger J-Link** JTAG-Adapter durchgeführt:
  
-Die benötigte Software (J-Flash) kann direkt und kostenlos von der Segger Homepage heruntergeladen werden[[https://www.segger.com/downloads/jlink/]]+{{artikel:nav_fx:segger_j-link_edu.jpg?direct&160|}}
  
-==== Schritt 1) JTAG-Interface mit dem Mainboard verbinden ====+Zum auslesen reicht dabei die "EDU"-Variante, welche für ca. 60,- € zu haben ist. Um auch löschen und programmieren zu können benötigt man spezielle Lizenzen, welche z.B. in der "PLUS"-Version für um die 800,- € enthalten sind. Die Hardware ist exakt die gleiche, es sind nur zusätzliche Lizenzschlüssel.
  
-[[artikel:nav_common:jtag_connect_mainboard]]+:i**TIPP**: Vom Segger J-Link werden zahlreiche, billige "China-Clones" angeboten. Keine Ahnung ob welche davon genauso gut funktionieren wie das Original. Bei dem relativ günstigen Preis des "EDU" würde ich jedoch immer ein Original vorziehen, da dies sicher qualitativ hochwertiger ist und man keine Probleme bekommt.
  
-==== Schritt 2) Den Watchdog vom Radioprozessor deaktivieren ====+Darüber hinaus benötigt man noch die Software "Segger J-Flash", welche im J-Link Commander Programmpaket enthalten ist und man direkt und kostenlos von der [[https://www.segger.com/downloads/jlink/|Segger Homepage]] herunterladen kann.
  
-Auf dem Mainboard steuert ein NEC V850 Mikrocontroller (der sog. "Radioprozessor") sämtliche Funktionen für den Radioempfang aber auch die Stromversorgung der Komponenten. Zur Überwachung empfängt er vom HMI-Prozessor heartbeats. Bleiben diese für eine längere Zeit aus (ca. 20 Sekundenführt er einen Reset auf den OMAP durchDie Zeit ist zu kurz um den gesamten Flash-Speicher auszulesendaher muss man diesen Mechanismus still legen.+Weiterhin benötigt man zum verbinden von Mainboard und J-Link Adapter noch ein paar, möglichst kurze Dupont-Wires (Anschlußvariante Male-Male). Kurzdamit man sich keine Störungen einfängt.
  
-Hierzu muss eine **Drahtbrücke zwischen Pin 3 und Pin 13** des [[artikel:nav_common:jtag_connect_mainboard|rechten Serviceports (X3806)]] 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.+===== Schritt 1JTAG-Interface mit dem Mainboard verbinden =====
  
-==== Schritt 3Einstellungen im J-Flash vornehmen ====+Dieser Schritt ist hier erklärt: [[artikel:nav_common:jtag_connect_mainboard]] 
 + 
 +===== Schritt 2Watchdogs deaktivieren ===== 
 + 
 +:i: //Auf dem Mainboard steuert und überwacht ein NEC V850 Mikrocontroller (der sog. "Radioprozessor") sämtliche Komponenten, auch den OMAP HMI-Hauptprozessor. Zur Überwachung empfängt er vom HMI-Prozessor sog. "Heartbeats". Bleiben diese für einen Zeitraum von mehr als 20 Sekunden aus, führt er einen Reset auf den OMAP durch. Die Zeit ist zu kurz um den gesamten Flash-Speicher auszulesen, daher muss man diesen Mechanismus still legen.// 
 + 
 +//Das allein reicht jedoch nicht, denn auch auf dem OMAP gibt es Watchdog-Timer. Diese werden nach einem Reset automatisch gestartet und werden normalerweise per Software immer wieder zurückgestellt. Um den Flash lesen/beschreiben zu können muss man die im OMAP enthaltene ARM-CPU stoppen. Dadurch bleiben die Rückstellbefehle aus und der Watchdog würde den OMAP nach ca. 11 Sekunden resetten. Um dies zu verhinden muss man gleich nach dem anhalten der CPU die Watchdog-Timer umprogrammieren, sodass diese keine Funktion mehr haben.// 
 + 
 +=== 2.1) Heartbeat-Timer deaktivieren (Tuareg-Mode) === 
 + 
 +Eine Drahtbrücke zwischen **Pin 3 (GND)** und **Pin 13 (/SEL)** am [[:artikel:nav_common:mainboard_service_connectors#pinbelegung_der_service-buchse_x3806|rechten Serviceport (X3806)]] des Mainboards einlöten (ich habe einen Dupont-Wire Male-Female durchgeschnitten und mit so eine Steckbare Verbindung gebaut). 
 + 
 +=== 2.2) Watchdog-Timer deaktivieren === 
 + 
 + 
 + 
 +===== Schritt 3) J-Flash konfigurieren =====
  
 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 unterstützt wird :-) 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 unterstützt wird :-)
  • artikel/nav_common/jtag_readout_mainboard_flash.txt
  • Zuletzt geändert: Wed. 19.05.2021 13:28
  • von go4it