mikrocontroller.net

Forum: Compiler & IDEs STM32 + CodeSourcery + Eclipse + JLink, Problem mit gdb


Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche grade, meine STM32 Toolchain ans laufen zu bringen.
Die Toolchain besteht aus:
+ STM32-H103 Controllerboard von Olimex
+ JLink edu
+ Eclipse
+ CodeSourcery G++
+ FreeRTOS Beispielprojekt

Im Prinzip scheint alles zu funktionieren, also der GDB Server verbindet 
sich mit dem JLink, der Controller wird erkannt, das Projekt kompiliert.

Mein Problem liegt jetzt darin, daß ich beim Starten des Debugvorgangs 
die Fehlermeldung bekomme, die 'g' Paketlänge wäre falsch.

Die Fehlermeldung kommt sowohl in Eclipse, als auch in der Konsole, wenn 
ich den GDB manuell bediene.


Irgendjemand ne Idee was da schiefläuft?

Gruß,
Peter

Autor: joh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme an, Du benutzt die neueste Codesourcery Version.

Versuch´s mal mit einer älteren. Kann mich nicht genau erinnern,
hatte aber ein mglw. ähnliches Prob mit dem (damals) neuesten 
Codesourcery gdb.

HDH,

joh

Autor: Tecnologic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,

Wie hast du den Segger gdb denn in Eclipse configuriert?

Start Comands usw. meine ich.

Poste mal deine Einstellungen des DBG Hardware debugings.

MfG

Tec

PS: habe Eclipse + Codesourcery +  J-Link EDU + STM3210B am laufen.

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@joh:
Ja, habe die neueste Version runtergeladen. Ich versuchs heut Abend mal 
mit ner älteren. Welche hast du denn bei dir am laufen?


@Tecnologic:
Ich such die Einstellungen heute Abend mal raus.
Sind aber aus dem Forum hier zusammenkopiert und sollten laut Aussage 
der Threadersteller so funktionieren.
Da du die Toolchain bei dir am Laufen hast, kannst du mir mal deine 
Versionsummern sagen? Also von CodeSourcery und gbd Server?


Ich habe zwischenzeitlich mal ein wenig gegoogelt, der 'g' Paket Error 
ist wohl auf gdb-Protokollprobleme zurückzuführen.
Das würde ja für die Theorie von joh sprechen.

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mal nachgesehen:
Genaue Fehlermeldung:
Remote 'g' packet reply is too long: 
000000000000000000000000000000000000000000000000000000000000000000000000 
000000000000000000000000000000000000000000000000000000000000000000000000 
000000000000000000000000000000000000000000000000000000000000000000000000 
000000000000000000000000000000000000000000000000000000000000000000000000 
000000000000000000000000000000000000000001000000
Versionen:
CodeSourcery arm-none-eabi-gdb.exe: 7.2.50.20100908
SEGGER J-Link GDB Server: V4.24d

Konfiguration in Eclipse (Initialization):
set mem inaccessible-by-default off
target remote localhost:2331
monitor speed Auto
monitor endian little
monitor flash device = STM32F103RB
monitor flash breakpoints = 1
monitor flash download = 1

Run Commands:
monitor reg r13 = (0x00000000)
monitor reg pc = (0x00000004)
monitor reset
continue

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peterguy

Ich habe auch so meine Probleme mit dem Jlink GDB server.

In der Fehlermeldung die in der Console auftaucht steht vor dem Remote G 
Packet reply noch das Kommando bei dem der Fehler aufgetreten ist.
Schau nochmal das du den kompletten Log postest.

mfg Jan

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut gdb Referenz im Netz (Hab den Link leider nicht mehr) ist das Paket 
'g' für die Übermittlung der Registerdaten zuständig.

Habe übrigens mal eine ältere Version von CodeSourcery runtergeladen, 
nämlich 2010q1-188. Mit dieser kommt die Fehlermeldung nicht!

Der GDB Server hält die Verbindung jetzt auch, statt sie wie zuvor 
abzubrechen.
Bin aber zeitlich nicht dazugekommen weiter zu testen, das hole ich dann 
heut Abend nach

Autor: Random ... (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI,

Ich habe Segger 4.24d wie du drauf und Sourcery G++ Lite 2010.09-51
also das neuste, ich habe da auch erst vor ein paar Tagen neu gemacht.

Da ich gerade nicht an meinem Rechner bin in dem Thread habe ich mein
Template für Eclipse geposted, da müsste mein J-Link Konfig. drin sein.

Beitrag "Re: STM32 ST-Library Einstieg"


MfG

Tec

Autor: chrysn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für das "Remote 'g' packet reply is too long"-Problem hab' ich ein 
Workaround gefunden: Das Problem scheint dadurch zu entstehen, dass gdb 
beim Laden der Datei die ARM-ABI von AAPCS auf APCS umstellt; erst ab 
dann kommen die Fehlermeldungen. Meine gdb-Konfigurationsdatei sieht so 
aus:
# gets set when loading the file, without this i get the "Remote 'g' packet
# reply is too long" errors
set arm abi AAPCS

target remote localhost:2331
monitor speed auto
# this seems to be less about the architecture and more about how to
# communicate with gdb. "set endian big" works just as well.
monitor endian little

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.