OpenOCD zum Debuggen

OpenOCD ist ein Werkzeug, um über JTAG-Adapter mit der Debug-Schnittstelle auf einem Chip zu kommunizieren. Es unterstützt neben anderen auch meinen Bus Blaster als JTAG-Debug-Adapter. Das Programm bietet zwar keine direkte Unterstützung für den verbauten Samsung-SoC, allerdings tun das einige andere Modelle aus Samsungs S3C-Familie - und sie scheinen sich stark zu ähneln.

Stellenmarkt
  1. Projektleiter*in Digitalisierung
    Universitätsstadt MARBURG, Marburg
  2. Product Owner (m/w/d) IT-Logistics | remote oder on-site
    Best Secret GmbH, Aschheim bei München oder remote Berlin, Hamburg, Köln, Frankfurt, Stuttgart oder Leipzig
Detailsuche

Die Dokumentation von OpenOCD ist nicht sonderlich gut. Aber nach einigem Trial and Error habe ich eine funktionierende openocd.cfg:

source [find interface/ftdi/dp_busblaster.cfg]
adapter_khz 1000
reset_config srst_only srst_open_drain
reset_config trst_and_srst

jtag newtap s3c2416 cpu -irlen 4 -ircapture 0x1 -irmask 0xf \
 -expected-id 0x07926f0f

target create s3c2416.cpu arm920t -endian little -chain-position \
 s3c2416.cpu

OpenOCD zeigt nach dem Start an, dass es etwas gefunden hat:

$ openocd -f openocd.cfg
...
Info : clock speed 1000 kHz
Info : JTAG tap: s3c2416.cpu tap/device found: 0x07926f0f \
 (mfg: 0x787 (<unknown>), part: 0x7926, ver: 0x0)
Info : Embedded ICE version 6
Info : s3c2416.cpu: hardware has 2 breakpoint/watchpoint units
Info : accepting 'telnet' connection on tcp/4444

Jetzt kann ich mich mit OpenOCD verbinden und Dinge ausprobieren.

$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> halt
s3c2416.cpu: target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x40000013 pc: 0x33c04664
MMU: disabled, D-Cache: disabled, I-Cache: disabled
> step
s3c2416.cpu: target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x40000013 pc: 0x33c03990
MMU: disabled, D-Cache: enabled, I-Cache: disabled
Golem Akademie
  1. CEH Certified Ethical Hacker v11: virtueller Fünf-Tage-Workshop
    10.–14. Januar 2022, Virtuell
  2. Penetration Testing Fundamentals: virtueller Zwei-Tage-Workshop
    17.–18. Januar 2022, Virtuell
Weitere IT-Trainings

Damit wird die CPU angehalten und führt CPU-Anweisungen im Einzelschrittmodus aus. Entsprechend des Speicher-Mappings laut dem Datenblatt des S3C2416 wird der DDR-RAM ab der Adresse 0x30000000 eingeblendet, die angezeigte Adresse 0x33c04664 liegt also in diesem RAM.

Jetzt kann ich herumspielen und Daten aus den Registern des SoC lesen und auch beschreiben. Für einen schnellen Test suche ich das Transmit-Register der seriellen Schnittstelle im Datenblatt. Es heißt UTXH0 und befindet sich an Adresse 0x50000020. Ich versuche, den Wert 0x55 (ASCII-Code für "U") in das Register zu schreiben: mww 0x50000020 0x55

Und tatsächlich: "U" wird über die serielle Schnittstelle ausgegeben. Jetzt weiß ich, wie ich Text ausgeben kann.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Auf der Suche nach neuen KontaktenFlash-Speicher auslesen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9.  


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.



Aktuell auf der Startseite von Golem.de
Elektroauto
Autobauer Uniti schon vor Auslieferung vor dem Ende

Das schwedische Unternehmen Uniti steht kurz vor der Insolvenz. Aus dem geplanten Elektroauto für 15.000 Euro wird wohl nichts werden.

Elektroauto: Autobauer Uniti schon vor Auslieferung vor dem Ende
Artikel
  1. Halo Infinite im Test: Master Chief gefangen zwischen Waffe und Welt
    Halo Infinite im Test
    Master Chief gefangen zwischen Waffe und Welt

    Eine doofe Nebenfigur, sinnlose offene Umgebungen: Vor allem das tolle Kampfsystem rettet die Kampagne von Halo Infinite.
    Ein Test von Peter Steinlechner

  2. Dynamic Spectrum Sharing: Telekom baut an 756 Mobilfunkstandorten 5G aus
    Dynamic Spectrum Sharing
    Telekom baut an 756 Mobilfunkstandorten 5G aus

    Die Telekom hat hauptsächlich 5G mit Dynamic Spektrum Sharing ausgebaut. Auch bei reinem 4G gibt es Erfolge.

  3. Kanadische Polizei: Diebe nutzen Apples Airtags zum Tracking von Luxuswagen
    Kanadische Polizei
    Diebe nutzen Apples Airtags zum Tracking von Luxuswagen

    Autodiebe in Kanada nutzen offenbar Apples Airtags, um Fahrzeuge heimlich zu orten.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Bosch Professional Werkzeug und Zubehör • Corsair Virtuoso RGB Wireless Gaming-Headset 187,03€ • Noiseblocker NB-e-Loop X B14-P ARGB 24,90€ • ViewSonic VX2718-2KPC-MHD (WQHD, 165 Hz) 229€ • Alternate (u. a. Patriot Viper VPN100 2 TB SSD 191,90€) [Werbung]
    •  /