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

OP #3137006
Lesenswert?
• ▲
▼
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 #3137573
Lesenswert?
• ▲
▼
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

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.

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.