Abo
  • Services:
Anzeige
Linux auf einem Digital-Oszilloskop
Linux auf einem Digital-Oszilloskop (Bild: Christer Weinigel)

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.

Anzeige

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 (), 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

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.

 Auf der Suche nach neuen KontaktenFlash-Speicher auslesen 

eye home zur Startseite
grslbr 22. Nov 2016

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

Themenstart

grslbr 22. Nov 2016

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

Themenstart

cherubium 22. Nov 2016

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

Themenstart

maze_1980 22. Nov 2016

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

Themenstart

okidoki 22. Nov 2016

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

Themenstart

Kommentieren



Anzeige

Stellenmarkt
  1. MBtech Group GmbH & Co. KGaA, Sindelfingen
  2. Landeshauptstadt München, München
  3. NRW.BANK, Düsseldorf
  4. MCM Klosterfrau Vertriebsgesellschaft mbH, Köln


Anzeige
Blu-ray-Angebote
  1. (u. a. Apollo 13, Insidious, Horns, King Kong, E.T. The Untouchables, Der Sternwanderer)
  2. 12,99€
  3. 125,00€

Folgen Sie uns
       


  1. Apple

    Aktivierungssperre des iPads lässt sich umgehen

  2. Amazon

    Downloader-App aus dem Fire-TV-Store entfernt

  3. Autonomes Fahren

    Apple zeigt Interesse an selbstfahrenden Autos

  4. Sicherheit

    Geheimdienst warnt vor Cyberattacke auf russische Banken

  5. Super Mario Bros. (1985)

    Fahrt ab auf den Bruder!

  6. Canon EOS 5D Mark IV im Test

    Grundsolides Arbeitstier mit einer Portion Extravaganz

  7. PSX 2016

    Sony hat The Last of Us 2 angekündigt

  8. Raspberry Pi

    Schutz gegen Übernahme durch Hacker und Botnetze verbessert

  9. UHD-Blu-ray

    PowerDVD spielt 4K-Discs

  10. Raumfahrt

    Europa bleibt im All



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Spielen mit HDR ausprobiert: In den Farbtopf gefallen
Spielen mit HDR ausprobiert
In den Farbtopf gefallen
  1. Ausgabegeräte Youtube unterstützt Videos mit High Dynamic Range
  2. HDR Wir brauchen bessere Pixel
  3. Andy Ritger Nvidia will HDR-Unterstützung unter Linux

Breath of the Wild: Spekulationen über spielbare Zelda
Breath of the Wild
Spekulationen über spielbare Zelda
  1. Konsole Nintendo gibt Produktionsende der Wii U bekannt
  2. Hybridkonsole Nintendo will im ersten Monat 2 Millionen Switch verkaufen
  3. Switch Nintendo erwartet breite Unterstützung durch Entwickler

Gear S3 im Test: Großes Display, großer Akku, große Uhr
Gear S3 im Test
Großes Display, großer Akku, große Uhr
  1. In der Zuliefererkette Samsung und Panasonic sollen Arbeiter ausgebeutet haben
  2. Vernetztes Auto Samsung kauft Harman für 8 Milliarden US-Dollar
  3. 10LPU und 14LPU Samsung mit günstigerem 10- und schnellerem 14-nm-Prozess

  1. Re: Pervers... .

    Tunkali | 12:58

  2. Re: ich dachte immer der versand wird billiger

    triplekiller | 12:56

  3. solange Kodi bleibt, alles gut!! kT

    Kunze | 12:49

  4. Re: ... die Pay-TV-Plattform Freenet TV ...

    Mr Miyagi | 12:48

  5. Re: Transparenz zum Kündigungstermin ist Schwachsinn!

    dl01 | 12:46


  1. 12:54

  2. 11:56

  3. 10:54

  4. 10:07

  5. 08:59

  6. 08:00

  7. 00:03

  8. 15:33


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel