Hallo!
Ich versuche mich daran mit OpenOCD zu debuggen. Die Plattform basiert
auf einem AT91RM9200. Eigentlich komme ich schon recht weit: Ich kann
mich an das Target verbinden, Breakpoints setzen und das Programm laufen
lassen. Allerdings habe ich noch ein Riesenproblem: Single-Stepping
funktioniert nicht im Thumb-Mode. Das Programm bewegt sich einfach kein
Stück weiter. Es hilft auch nichts den Breakpoint zu löschen. Schalte
ich auf den ARM-Modus um, dann geht Single-Stepping. Allerdings hilft
mir das für Thumb-Code natürlich rein gar nichts.
Getestet habe ich von OpenOCD bereits die Versionen 0.4.0, 0.3.2 und
0.2.0. Leider alles ohne Erfolg. Auch habe ich bereits zwei verschiedene
JTAG-Dongles getestet: Amontec JTAGKey und Olimex ARM-USB-TINY.
Ebenfalls ohne Erfolg.
Ich verwende folgende Konfiguration:
1 | source [find c:/openocd/share/openocd/scripts/interface/jtagkey.cfg]
|
2 | #source [find c:/openocd/share/openocd/scripts/interface/olimex-jtag-tiny.cfg]
|
3 | source [find c:/openocd/share/openocd/scripts/target/at91rm9200.cfg]
|
4 | #flash bank xip cfi 0x400000 0xC00000 2 2 $_TARGETNAME
|
5 |
|
6 | telnet_port 4444
|
7 | gdb_port 3333
|
8 | arm7_9 fast_memory_access enable
|
9 | gdb_breakpoint_override hard
|
Ich bin jetzt mit meinem Latein am Ende. Hat noch irgendjemand eine
Idee, wie man das ganze zum Laufen bringt?
- Matthias Meixner