Forum: Compiler & IDEs openOCD / WinARM GDB für ARM einrichten. Unzuverlässig?


von Thorsten F. (thorstenf)


Lesenswert?

Ich versuche mit Eclipse, openOCD, WinARM und einem Olimex-ARM-USB-OCD 
ein MCB2300 zu debuggen. Ich habe allerdings das Problem dass das 
Debuggen höchst unzuverlässig funktioniert.

openOCD ist frisch nach 
http://piconomic.berlios.de/build_openocd.html#OPENOCD_DOWNLOAD 
zusammengebastelt.

WinARM hab ich von hier: 
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/

Vom Vorgehen her verbinde ich zuerst openOCD mit folgenden Argumenten:
1
-f /MEIN_PFAD/target/lpc2378.cfg
2
-f /MEIN_PFAD/interface/olimex-arm-usb-ocd.cfg
3
-c
4
-d

Und starte dann den Debugprozess. Dieser ruft als "Zylin Embedded Debug" 
die arm-none-eabi-gdb.exe mit folgenden "run commands" auf:
1
target remote localhost:3333
2
monitor sleep 500
3
monitor poll
4
monitor flash probe 0
5
monitor flash erase_sector 0 0 0
6
monitor flash write_image main.bin 0x0
7
monitor reset run
8
monitor sleep 500
9
monitor soft_reset_halt
10
monitor arm7_9 force_hw_bkpts enable
11
symbol-file main.elf
12
thbreak main
13
continue

Mein Problem ist aktuell dass es schlicht und ergreifend manchmal 
funktioniert, manchmal hängt das ganze aber auch beim continue.

Vielleicht/Vermutlich hängt das mit einigen Warnings zusammen die ich 
bisher nicht lösen konnte.
Beispielsweise:

Warning: /cygdrive/D/workspace/merses/LCD/.dep: No such file or 
directory.
Warning: /cygdrive/D/workspace/merses/LCD: No such file or directory.

Verification will fail since checksum in image(0xe1a00000) written to 
flash was different from calculated vector checksum(0xb9206e38).
To remove this warning modify build tools on developer PC to inject 
correct LPC vector checksum.

Unknown command: arm7_9 force_hw_bkpts enable


Es wäre nett wenn mir jemand die richtige Richtung weisen könnte. Vielen 
Dank hierfür im Vorraus.

von Thorsten F. (thorstenf)


Lesenswert?

Läuft leider immer noch nicht stabiler, aber ich ergänze mal ganz dreist 
um eine weitere Frage.
Wenn ich mal debugge, habe ich Probleme bei z.b. Funktionsaufrufen. gdb 
teilt mit beim Befehl "info mem" mit, dass keine Speicherregionen 
definiert sind.

Wie kann ich gdb nun eine Memory Map "mitgeben"`?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.