STLink + OpenOCD + Eclipse

Gast #5089414
Hallo,

ich versuche gerade ein STM32f0308-Disco Eval Board in betrieb zu 
nehmen.
Das Flashen mittels STM32 ST-LINK Utility und auch mit OpenOCD aus der 
Kommandozeile funktioniert auch.
Starte ich OpenOCD jedoch aus Eclipse heraus, bekomme ich in der Konsole 
folgenden fehler:
1
GNU MCU Eclipse 64-bits Open On-Chip Debugger 0.10.0+dev-00135-g8029919-dirty (2017-06-22-15:43)
2
Licensed under GNU GPL v2
3
For bug reports, read
4
  http://openocd.org/doc/doxygen/bugs.html
5
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
6
adapter speed: 1000 kHz
7
adapter_nsrst_delay: 100
8
none separate
9
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
10
Started by GNU ARM Eclipse
11
Info : Unable to match requested speed 1000 kHz, using 950 kHz
12
Info : Unable to match requested speed 1000 kHz, using 950 kHz
13
Info : clock speed 950 kHz
14
Info : STLINK v2 JTAG v28 API v2 SWIM v0 VID 0x0483 PID 0x3748
15
Info : using stlink api v2
16
Info : Target voltage: 2.903986
17
Info : stm32f0x.cpu: hardware has 4 breakpoints, 2 watchpoints
18
Info : accepting 'gdb' connection on tcp/3333
19
Info : device id = 0x20006440
20
Info : flash size = 64kbytes
21
undefined debug reason 7 - target needs reset
22
Info : dropped 'gdb' connection

Muss ich in den Eclipse Debug Configurations noch irgend was besonderes 
einstellen, oder reset Parameter angeben? Wenn ja, wo?

Ich verwende Eclipse Oxygen und OpenOCD v0.10

Danke.
Gast #5089419
Und wieder einer mit dem selben Problem.

Das wird hier alle paar Wochen gefragt. Ich habe ein ganzes Wochenende 
damit verbraucht und weder eine hilfreiche Erklärung noch eine Lösung 
gefunden.

Das komische ist: In der System Workbench (SW4STM32) klappt es mit 
dieser Software.
#5089435
Zuerst eine Debug-Konfiguration erzeugen:
Run -> Debug Configurations
Dort in der linken Liste einen Rechtsklick auf "AC6 STM32 Debugging" und 
dann "New" auswählen.

Danach oben den Reiter Debugger anklicken und in dem Dialog den Button 
"Show Generator Options" klicken.

Für die ST-Boards mit integrierten Debugger sollte bei Reset-Mode 
"Connect under Reset" ausgewählt sein.
Für einen externen ST-Link gehört da "Software System Reset" hin.

Mit der Konfiguration läuft das bei mir einwandfrei.
Gast #5089451
Ok, vielen Dank.
Ich habe bei mir "new" bei "GDB OpenOCD Debugging" gemacht.
"AC6 STM32 Debugging" steht bei mir nicht. Muss ich da in Eclipse noch 
was nachinstallieren?

Bei mir im Debugger Reiter hab ich unter Config Option nur das config 
file angegeben.
-f board/stm32f0discovery.cfg
Ein Reset-Mode steht da leider nicht.
Gast #5089460
Es scheint sehr viele verschiedene "ST-Links" zu geben. Originale gibt 
es ja schon mehrere. Die Box von ST selbst und abgetrennte Teile der 
Nucleo Boards. Ausserdem zig Clones aus China.
Ich kann natürlich nie ausschliessen evt. ein Kabel falsch/nicht 
verbunden zum haben, aber bei mir stellten sich folgende Effekte ein:
- Die ST-Originale zeigten nie die "Target Voltage" richtig.
- Ein von einem 411er Board abgetrennter "Nucleo-ST Link" konnte 
erfolgreich auch mit "Connect under Reset" debuggen.
- Die China Clones brauchen die Einstellung "Software System Reset" 
(siehe oben von User Harry L.)
- Ab und zu ging gar nichts mehr, es kam kein Connect des ST-Link mehr 
zustande. USB-Kabel ziehen und Rechner Reboot mit stromlos machen half 
nicht. Ich dachte schon Board oder ST-Link ist im Eimer, dann fand ich 
doch noch die "Wiederbelebung": ST-Link Software starten, den 
Reset-Knopf drücken und gedrückt halten, in der Software mittels 
"Connect under Reset" die Verbindung versuchen, und dann schnell den 
Reset-Knopf los lassen. Danach "Erase Flash" und es ging dann wieder bis 
zum nächsten Mal. :-)

Ich benutze auch die System Workbench anstatt mit Addons 
zusammengebasteltes Eclipse, aber einen wirklichen Unterschied scheint 
es nicht zu machen.
#5089472
matzunami schrieb:
> "AC6 STM32 Debugging" steht bei mir nicht. Muss ich da in Eclipse noch
> was nachinstallieren?

Ja, das AC6-Paket.
Dazu im Eclipse Help->Install new Software
In dem Dialog auf ADD klicken, und die folgende URL eintragen:

http://ac6-tools.com/Eclipse-updates/org.openstm32.system-workbench.update-site-v2

Damit wird alles Erforderliche für SW4STM32 installiert.

Danach kannst du auch die Debug-Configuration erzeugen.
Gast #5089551
Ich hab mir jetzt das AC6-Paket heruntergeladen und installiert.
Wenn ich da jetzt auf "new" gehe kommt:
Error: java.lang.NullPointerException
Habe kein Glück, kann es sein, dass meine Eclipse Version zu neu ist?
Ich werde es mal mit einer älteren versuchen.
#5089562
Das könnte daran liegen, daß du ein 32bit Java auf einem 64bit OS 
installiert hast, oder SW5STM32 für 32bit compiliert wurde und dui ein 
64bit Java hast.

Aber warum installierst du nicht SW4STM in deinem lauffähigen Eclipse 
wie ich das oben beschrieben hab?
Gast #5089569
Sorry, hab mich falsch ausgedrückt. Ich habe ein 64bit OS mit 64bit 
Eclipse und habe das AC6 Paket in Eclipse mit install new Software 
installiert (wie oben gesagt).
Sehe bei Debug Configurationen jeztz 'AC6 StM32 Debugging' und wenn ich 
da jetzt auf new gehe kommt der Fehler.
#5089573
matzunami schrieb:
> Sorry, hab mich falsch ausgedrückt. Ich habe ein 64bit OS mit 64bit
> Eclipse und habe das AC6 Paket in Eclipse mit install new Software
> installiert (wie oben gesagt).
> Sehe bei Debug Configurationen jeztz 'AC6 StM32 Debugging' und wenn ich
> da jetzt auf new gehe kommt der Fehler.

Ok..welche Eclipse-Version hast du installiert?
Aktuell ist Neon 3

http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neon3
Gast #5106795
Ich hatte den selben Fehler mit Eclipse Oxygen und OpenOCD beim Versuch 
ein ST Nucleo STM32F103RB Board zu debuggen.

Nach langem Herumgoogeln und ausprobieren konnte ich schließlich den 
Fehler beheben indem ich nicht die OpenOCD Version 0.10.0 von 
GNU-MCU-Eclipse (GNU MCU Eclipse OpenOCD) genommen habe sondern die 
Version 0.10.0 von 
http://www.freddiechopin.info/en/download/category/4-openocd

Nachdem ich OpenOCD ausgetauscht habe lief alles ohne Probleme.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 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.