Forum: Mikrocontroller und Digitale Elektronik LPC2129 + ARM-USB-OCD + Flash programming


von Michael S (Gast)


Lesenswert?

Hallo,
nachdem mein Debugger mir die ganze Zeit Fehlermeldungen bringt a la:
"
Execution is suspended because of error.
  Warning:
  Cannot insert breakpoint 3.
  Error accessing memory address 0x40000120: (undocumented errno -1).
  Cannot insert breakpoint 0.
  Error accessing memory address 0x40000134: (undocumented errno -1).
"
Und ich nicht die geringste Ahnung habe woran das liegen könnte, wollte 
ich das Programm anstelle ins RAM gleich mal ins Flash Kopieren, um zu 
sehen, ob es evtl etwas mit der Größe des Programms zutun hat.

Allerdings bin ich jetzt über die flash bank konfiguration gestolper.
Muss ich im *.cfg File die flash bank angeben? Denke das ist nur für 
externes Flash, oder!?

Grüsse Michael

von Michael S (Gast)


Lesenswert?

Ah, arbeite unter Eclipse mit gdb... auf einem XP Pro System..

Gruss
Michael

von Dominic R. (dominic)


Lesenswert?

Die "flash bank" ist notwendig, wenn du via OpenOCD das Flash schreiben 
oder löschen willst. Für den LPC2129 sollte das etwa so aussehen:

flash bank lpc2000 0x0 0x40000 0 0 lpc2000_v1 0 14765 calc_checksum

Der Fehler beim Debug im RAM deutet darauf hin, dass du 
Software-Breakpoints noch nicht aktiviert hast:
"monitor arm7_9 sw_bkpts enable" via GDB (z.b. .gdbinit, oder Eclipse)

Im Flash musst du Hardwarebreakpoints benutzen:
"monitor arm7_9 force_hw_bkpts enable"

Gruss,

Dominic

von Michael S (Gast)


Lesenswert?

Hi Dominic,
danke für die rasche Antwort.

In meinem GDB Script steht momentan noch folgende Zeile:
monitor arm7_9 force_hw_bkpts enable
Wenn ich das richtig sehe, macht die nach dem:
monitor arm7_9 sw_bkpts enable
keinen Sinn mehr, oder?! (Nur für's Flash..)

von Michael S (Gast)


Lesenswert?

Das gesamte Initscript für GDB sieht momentan so aus:
target remote localhost:3333
monitor arm7_9 force_hw_bkpts enable
load ledswitch.elf
symbol-file ledswitch.elf
thbreak main
continue

Gruss Michael

von Michael S (Gast)


Lesenswert?

Kannst du mir evtl. auchnoch sagen, auf was die Fehlermeldung:
Execution is suspended because of error.
  Cannot find bounds of current function

hindeutet?

Gruss
Michael

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.