mikrocontroller.net

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


Autor: Michael S (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, arbeite unter Eclipse mit gdb... auf einem XP Pro System..

Gruss
Michael

Autor: Dominic R. (dominic)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael S (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..)

Autor: Michael S (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael S (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.