Zusammenhang STM32Discovery, GDB, st-util?

OP #4483875
Lesenswert?
• ▲
▼
Guten Abend zusammen,

ich habe mal eine grundsätzliche Frage zum Debuggen. Genutzt wird 
STM32Discovery-Board und die Anleitung [1] "Discovering the STM32 
microcontroller". Zum Flashen führe ich das Opensource-Programm 
"st-util" von texane [2] aus. Anschließend starte ich gdb, gebe das 
target "extended remote" an, lade die ELF Datei und starte das Programm.

Mit ist jetzt irgendwie nicht klar, welche Komponente mit welcher 
kommuniziert... Im Manual von "stlink" steht, dass "st-util" ein GDB 
Server ist. In der englischen Wiki steht, dass der "gdbserver" remote 
läuft. Aber es läuft doch alles auf meinem Rechner...

Sorry, wenn die Frage vielleicht irgendwie naiv ist, aber ich habe 
irgendwie ein Brett vorm Kopf.

Nebenbei: was ist in gdb der Unterschied zwischen "target remote" und 
"target extended-remote"?

Gruß
Dennis

[1] www.cs.indiana.edu/~geobrown/book.pdf
[2] https://github.com/texane/stlink
Gast #4483900
Lesenswert?
• ▲
▼
>Mit ist jetzt irgendwie nicht klar, welche Komponente mit welcher
>kommuniziert.

gdb <--> gdb server <--> (JTAG Adapter -- opt) <--> Target HW

>In der englischen Wiki steht, dass der "gdbserver" remote
>läuft. AbeIn der englischen Wiki steht, dass der "gdbserver" remote
>läuft. Aber es läuft doch alles auf meinem Rechner...r es läuft doch alles >auf 
meinem Rechner...

Nicht alles buchstäblich nehmen. "remote" heisst nur: Separat vom GDB.
Es gibt viele Varianten von GDB Servern.
 -- auf dem Dev Host selbst
 -- auf einer Debug Probe (JTAG Adapter)
 -- auf dem Target (als separate Komponente oder in das zu debuggende
    Image gelinkt
 -- noch was anderes...

Das macht die ganze Chose ziemlich flexibel und den GDB selbst - für 
eine
gegebene Prozessorarchitektur - hardwareunabhängig.

st-util ist eine Möglichkeit, OpenOCD eine andere (beide host-basiert).
Dann gibt es noch die Black Magic Probe (auf dem JTAG Adapter).
Die BMP ist insofern interessant, als dass sie einem das
separate Starten eines GDB Servers erspart.

>Zum Flashen führe ich das Opensource-Programm "st-util" von
>texane [2] aus. Anschließend starte ich gdb

Das ist unnötig kompliziert.
Das gdb "load" Kommando lädt das zu debuggende Image in den
Debugger UND in das Target, je nach Konfig in's RAM oder
Flash.

>Nebenbei: was ist in gdb der Unterschied zwischen "target remote" und
>"target extended-remote"?

Wüsste ich auch gerne. Wenn ich richtig dran bin, liegt der Unterschied
i.W auf Protokollebene und ist mglw. auch historisch bedingt.
Ich benutze immer "target extended-remote".
Der gdb server würde es Dir sicher sagen, wenn er nur "target remote"
kennt.
OP #4484302
Lesenswert?
• ▲
▼
Ahnungslos schrieb:
> Das ist unnötig kompliziert.
> Das gdb "load" Kommando lädt das zu debuggende Image in den
> Debugger UND in das Target, je nach Konfig in's RAM oder
> Flash.
Ohh.... sorry, das habe ich gestern Abend verwechselt! Ich starte nur 
den st-util und flashe mit gdb so wie du es beschrieben hast!

>>Nebenbei: was ist in gdb der Unterschied zwischen "target remote" und
>>"target extended-remote"?
> Wüsste ich auch gerne. Wenn ich richtig dran bin, liegt der Unterschied
> i.W auf Protokollebene und ist mglw. auch historisch bedingt.
> Ich benutze immer "target extended-remote".
> Der gdb server würde es Dir sicher sagen, wenn er nur "target remote"
> kennt.
Dazu habe ich hier noch was gefunden:
https://sourceware.org/gdb/onlinedocs/gdb/Connecting.html

Gruß
Dennis

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.