Debuggen mit GDB (ähnlich dem Bsp. auf Yagarto-Homepage)

OP #3137006
Hallo,

ich bin gerade dabei das freie RTOS ecos auf ein FM3-Evalboard zu 
portieren und dazu habe ich mir als IDE Eclipse-CDT eingerichtet.
Nun bin ich soweit, dass ich zum Debuggen übergehen kann.

Dazu habe ich mir ein Makefile-Projekt in Eclipse erstellt, in dem sich 
meine erstellte ecos-Library befindet sowie eine kleine 
HelloWorld-Anwendung, die ein LED leuchten lassen soll.
Die Konfiguration des Projekts sollte passen - das Makefile macht was es 
soll: es kompiliert mein HelloWorld und linkt es anschließend mit der 
ecos-Library, sodass zu guter Letzt ein elf-File entsteht.

Nun will ich die ganze Sache debuggen. Dazu habe ich ein Onboard-JLink, 
GDB von der Yagarto-Toolchain sowie den GDB-Server von Segger.

Ich habe einige Monate zuvor ein Beispiel von der Yagarto-Website 
nachgebastelt und konnte mit den gleichen Werkzeugen und dem gleichen 
Target erfolgreich debuggen. Nun habe ich mir gedacht, dass die ganze 
Sache für mein ecos-Projekt eigtl. auch funktionieren sollte.

Nur scheitert es bei mir wohl bei den Debug-Konfigurationen - u.a. den 
StartUp-Einstellungen. Leider habe ich darin bis dato so gut wie keine 
Erfahrung - deswegen meine Frage an euch:

Weiß jemand auf was ich bei den Commands für den GDB achten muss? Im 
Yagarto-Beispiel wurde Dinge gemacht wie:

target remote localhost:2331
monitor endian little
...
monitor reg r13 = (0x20000000)
monitor reg pc = (0x20000004)


Ich weiß bspw., dass 0x20000000 die Startadresse vom RAM meines Boards 
ist.
Aber kann jemand evtl. erläutern, was man beachten muss?

Viele Grüße, Lukas
Gast
Jörg Wunsch schrieb:
> Ich benutze immer OpenOCD, mit dem Segger-Server steh' ich auf
> Kriegsfuß.

Echt? Ich fand das bis jetzt mit den J-Link GDB Server immer recht 
simpel. Das einzige worauf man achten muss, wenn man im Flash debuggen 
will, ist das man dem J-Link bekannt man welches Device denn dran hängt, 
damit der richtige Flash Algorithmus benutzt werden kann (wie soll es 
auch sonst anders funktionieren).
Etwa in der Art wie:
monitor flash device = AT91SAM7A3

Das einfachste ist, sich eine entsprechende embOS Trial Version zu laden 
und die GDB Kommandos dort abzuschauen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.