Forum: Mikrocontroller und Digitale Elektronik Eclipse STM32 programmieren funktioniert seit update nicht mehr


von Martin M. (murmele)


Lesenswert?

Hallo,

seit es mein Eclipse unter Linux geupdated hat, kann ich keine STM32 
nucleo Demoboard mehr programmieren. Wie ich mich erinnern kann habe ich 
dem gdb ein paar Befehle beim Start mitgeteilt. Leider kann ich mich 
nicht mehr erinnern kann.
Im Terminal funktionierts mit den untenstehenden Befehlen einwandfrei. 
Kann Breakpoints setzten, Schritt für Schritt den Code durchgehen ...
Leider finde ich das unhandlicher als in Eclipse. Deshalb die Frage: hat 
jemand eine Idee wie ich das in Eclipse wieder zum laufen bringe?

1. Terminal: openocd -f 
/usr/share/openocd/scripts/board/st_nucleo_f4.cfg

2. Terminal: arm-none-eabi-gdb workspace/STM32I2C/Debug/STM32I2C.elf
             tar ext :3333
             monitor reset halt
             load
             monitor reset init
             thbreak main
             continue

von Bernd K. (prof7bit)


Lesenswert?

Martin M. schrieb:

> hat jemand eine Idee wie ich das in Eclipse wieder zum laufen bringe?

Du wirst mehr Antworten bekommen wenn Du das Problem schilderst.

von Martin M. (murmele)


Angehängte Dateien:

Lesenswert?

Im Moment habe ich einfach ein STM32F4 Projekt in Eclipse angelegt. Habe 
dann in den Debug configurations "GDB OpenOCD Debugging" eingstellt und 
dann versucht zu debuggen.
Leider kommt dann jetzt immer die Meldung:

Error in final launch sequence
Failed to execute MI command:
-exec-run
Error message from debugger back end:
Don't know how to run. Try "help target".
Don't know how to run. Try "help target".

"Don't know how to run. Try "help target"." das kommt auch beim gdb wenn 
man  vorher vergisst tar ext :3333 einzugeben

von Bernd K. (prof7bit)


Lesenswert?

Martin M. schrieb:
> Don't know how to run. Try "help target".

falscher gdb? Falsches executable?

Zeig mal den ganzen Output (alle Konsolen die Du findest), ebenso alle 
tabs der debuggereinstellungen.

von Martin M. (murmele)



Lesenswert?

Die Befehle im Bild "Bildschirmfoto von »2015-10-02 20-40-16«" habe ich 
eingefügt, hat aber keinen Einfluss gehabt.
Konsolen habe ich in Eclipse keine gefunden die nicht leer sind.

von hp-freund (Gast)


Lesenswert?

Um den Fehler einzugrenzen könntest Du OpenOCD separat in einer Konsole 
starten und nicht automatisch aus eclipse.

von Martin M. (murmele)


Angehängte Dateien:

Lesenswert?

Muss ich da GDB Hardware Debugging auswählen?
Was für eine Debugconfiguration muss ich da machen?

von hp-freund (Gast)


Lesenswert?

Wie Du im ersten Beitrag geschrieben hast.

Im Terminal das funktionierende OpenOCD strarten und in eclipse bei 
"Start OpenOCD locally" den Haken raus nehmen.

von hp-freund (Gast)


Lesenswert?

Sehe gerade im Bild:

gdb

stell mal den arm-none-eabi-gdb ein.

von hp-freund (Gast)


Lesenswert?

Martin M. schrieb:
> Muss ich da GDB Hardware Debugging auswählen?

Nö. Bleib bei der Server Version.

von Bernd K. (prof7bit)


Angehängte Dateien:

Lesenswert?

So sieht das bei mir aus, initialization commands ist komplett leer.

Mit Konsole meinte ich das im console-view, siehe zweiten Screenshot


Edit: sehe gerade was mein Vorposter ebenfalls gesehen hat: Du 
verwendest den falschen gdb, du brauchst arm-none-eabi-gdb aus der 
arm-none-eabi Toolchain, nicht den gdb der für nativen intel code auf 
Deinem Rechner gedacht ist, der kann mit arm code nichts anfangen.

von Martin M. (murmele)


Lesenswert?

Habe jetzt mal versucht /bin/arm-none-eabi-gdb bei executable 
einzustellen. Hat auch nichts gebracht. OpenOCD bekommt nichts mit (Wenn 
ich den gdb im Terminal ausgeführt habe, sah man im Openocd terminal 
dass eine Verbindung aufgebaut wurde).

von holger (Gast)


Lesenswert?

>Failed to execute MI command:
>-exec-run

Du brauchst einen neueren GDB.

von Bernd K. (prof7bit)


Lesenswert?

Hier hab ich noch ein paar Screenshots von ner funktionierenden 
Konfiguration (Nucleo F401RE) in nem alten Posting von mir ausgegraben:
Beitrag "Re: STM32 unter Linux programmieren und debuggen"

von Martin M. (murmele)


Lesenswert?

Bernd K. schrieb:
> dit: sehe gerade was mein Vorposter ebenfalls gesehen hat: Du
> verwendest den falschen gdb, du brauchst arm-none-eabi-gdb aus der
> arm-none-eabi Toolchain, nicht den gdb der für nativen intel code auf
> Deinem Rechner gedacht ist, der kann mit arm code nichts anfangen.

In den Einstellungen wenn ich ein neues Projekt erstelle dann wähle ich 
immer den arm gcc
1
 make all 
2
Invoking: Cross ARM GNU Print Size
3
arm-none-eabi-size --format=berkeley "STM32I2C.elf"
4
   text     data      bss      dec      hex  filename
5
   8929      176      416     9521     2531  STM32I2C.elf
6
Finished building: STM32I2C.siz

von Martin M. (murmele)


Lesenswert?

Bernd K. schrieb:
> ier hab ich noch ein paar Screenshots von ner funktionierenden
> Konfiguration (Nucleo F401RE) in nem alten Posting von mir ausgegraben:

Bin ich heute schon durchgegangen. ;) Was ich mich noch erinnern kann, 
war dass ich diese Befehle die ich oben auch geschrieben habe irgendwo 
in eclipse eingefügt habe.

monitor reset halt
load
monitor reset init
thbreak main
continue

von Martin M. (murmele)


Lesenswert?

holger schrieb:
> Du brauchst einen neueren GDB.

ich habe die version 7.10 installiert

von gdb (Gast)


Lesenswert?

https://github.com/gnuarmeclipse/plug-ins/issues/3

Zurück zur alten 7.9 Version von GDB und bei mir lief alles wieder.

von Martin M. (murmele)


Lesenswert?

gdb schrieb:
> Zurück zur alten 7.9 Version von GDB und bei mir lief alles wieder.

Danke. Werde ich gleich versuchen. Werde hier dann berichten obs 
funktioniert hat.

Danke an alle für Ihre Antworten

von Murmele (Gast)


Lesenswert?

Da es immer noch kein Update gibt, meine Alternative Lösung:

OpenOCD übers Terminal öffnen und in Eclipse Hardwaredebugging und als 
Debugger arm-none-eabi-gdb dann funktionierts auch ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.