• IT-Karriere:
  • Services:

Flash-Speicher auslesen

Nachdem ich weiter im Datenblatt des SoC geblättert und es mit anderen Datenblättern der S3C-Familie verglichen habe, sieht es danach aus, als ob sie den gleichen Controller verwenden, um den NAND-Flash-Speicher anzusprechen wie den S3C2412, der von OpenOCD unterstützt wird. Ich ergänze die openocd.cfg entsprechend: nand device 0 s3c2412 s3c2416.cpu

Stellenmarkt
  1. Hays AG, München
  2. AVL List GmbH, Graz (Österreich)

Ich starte OpenOCD neu und teste den Zugriff auf den Flash-Speicher:

> nand probe 0
NAND flash device 'NAND 128MiB 3.3V 8-bit (Samsung)' found

Wunderbar! Wenn der S3C2416-SoC vom Flash-Speicher bootet, lädt der die ersten 8 KByte in den internen SRAM an der Adresse 0x40000000. Ich probiere, den Inhalt des Speichers in einer Datei zu speichern:

> nand dump 0 "first.bin" 0 8192

Der Inhalt der Datei sieht nach ARM-Maschinencode aus. Jetzt will ich den kompletten Inhalt des Flash-Speichers. Allerdings würde das Herunterladen von 128 MByte über die Schnittstelle mit 1 MHz sehr langsam sein. Ich probiere, die Übertragungsgeschwindigkeit anzuheben. 30 MHz funktionieren nicht, aber 20 MHz klappen. Also ändere ich openocd.cfg erneut:

adapter_khz 20000

Mit einer ARM-CPU gibt es allerdings noch weitere Möglichkeiten, den Vorgang zu beschleunigen. Indem OpenOCD ein wenig RAM auf dem Oszilloskop benutzen darf, kann es etwas ARM-Code hochladen und auf der CPU ausführen, anstatt Code Zeile für Zeile auszuführen. Ich ändere die Konfigurationsdatei erneut. Der Code wird dabei am Ende des DDR-RAMs platziert (0x30000000 + 64MByte - 1MByte = 0x33f00000):

s3c2416.cpu configure -work-area-phys 0x33f00000 -work-area-size 0x20000 \
 -work-area-backup 0
arm7_9 fast_memory_access enable
arm7_9 dcc_downloads enable

Danach weise ich OpenOCD an, loszulegen:

> nand dump 0 "flash.bin" 0 134217728

Doch selbst mit dieser Beschleunigung würde der Download grob überschlagen mindestens zehn Stunden dauern. Also gehe ich erstmal nach Hause.

Allerdings übersehe ich dabei, dass ich aus Sicherheitsgründen die Stromversorgung abgesteckt habe und das Gerät im Batteriebetrieb läuft. Als ich am nächsten Tag ins Büro zurückkehre, ist das Oszilloskop aus und der Dump unvollständig. Allerdings kann ich die Übertragung erneut starten.

So habe ich nach zwei Tagen einen vollständigen Dump des Flash-Inhaltes. Sollte ich bei zukünftigen Experimenten Mist bauen, kann ich den Flash wieder auf den Werkszustand zurücksetzen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 OpenOCD zum DebuggenRegister auslesen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9.  


Anzeige
Spiele-Angebote
  1. 79,99€
  2. (u. a. Anno 2205 Ultimate Edition für 11,99€, Rayman Legends für 4,99€, The Crew 2 - Gold...

grslbr 22. Nov 2016

+1 Mehr davon und ich abonniere auch. Und wie laoladabamba sagt, die Weltraumartikel...

grslbr 22. Nov 2016

Aber ehrlich. Wenn's nur News über neue Grafikkarten gibt heulen die selben Leute über...

cherubium 22. Nov 2016

ich seh das ja auch immer mit einem zwinkernden Auge. Entwickler sollen entwickeln und...

maze_1980 22. Nov 2016

Die Chancen dass es ein Linux ist sind relativ gross. Würde es mich interessieren hätte...

Anonymer Nutzer 22. Nov 2016

Hier kann man mal sehen, was Fachkraft wirklich bedeutet. *Davon* haben wir zu wenige.


Folgen Sie uns
       


Audi E Tron GT Probe gefahren

Der E-Tron GT ist die Oberklasse-Limousine von Audi. Golem.de ist das Elektroauto Probe gefahren.

Audi E Tron GT Probe gefahren Video aufrufen
    •  /