Forum: Mikrocontroller und Digitale Elektronik Benutzt hier jemand das stm32nucleo-F401RE (st-link-2.1) mit OpenOCD unter Windows 7?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bernd K. (prof7bit)


Lesenswert?

Genau das in der Überschrift erwähnte Board, kein älteres, keins von den 
Discovery boards, keins mit st-link-1 oder 2.0 sondern genau dieses 
(st-link-2.1). Entweder mit openocd oder oder alternativ das selbe Board 
zusammen mit em:blocks und dessen mitgeliefertem gdbserver (der wohl auf 
dem von texane zu basieren scheint) und das ganze auf Windows 7.


Das Problem ist ich will es unter Windows zum Laufen bringen und hätte 
gerne einen gdb debug server dafür. Welchen genau ist eigentlich 
zweitrangig, Hauptsache ich kann auf dem Board mit gdb debuggen.



Das selbe Board unter Linux und OpenOCD lief auf Anhieb, keinerlei 
Verrenkungen, ich musste nichts konfigurieren, es war schon erschreckend 
einfach: einfach angestöpselt, openocd gestartet: Verbunden. Fertig. 
Geht alles. Einfach so. (Und der enthaltene Wechseldatenträger der 
angeblich nicht funktionieren soll geht übrigens auch problemlos unter 
Linux.)

Mir will nicht in den Kopf dass das unter Windows nicht ebenfalls 
benutzbar sein soll, normalerweise ist es doch eher anders rum!?

Das st-link eigene Windows-Tool (das man leider nicht zum Debuggen 
verwenden kann) kann sich übrigens problemlos mit dem Adapter verbinden.

FALLS es tatsächlich hier jemanden gibt bei dem das läuft dann hätte 
ich folgende Fragen:

* waren andere Treiber nötig, wenn ja welche (und welche Version genau)?
* war es nötig andere Dinge zu deaktivieren, andere Verrenkungen zu 
machen?
* Welche Firmwareversion befindet sich (nun) auf dem ST-Link Adapter?
* Welche Version von OpenOCD (oder alternativ em:blocks oder 
texane/stlink)?

OS: Windows 7, 64 bit.

Ich habe bereits:

* 3 verschiedene Firmwareversionen derer ich habhaft werden konnte 
getestet (die die ursprünglich drauf war, keine Ahnung wie ich die 
wieder draufbekomme, eine ältere aus dem offiziellen Firmwareupdater und 
eine neuere aus dem STlink-utility)
* bei jeder davon mit dem zadig-tool mit jedem der verfügbaren 
liibusb-Treiber-Varianten getestet, openocd meldet jedesmal 
"stlink_usb_open(): open failed" (keine weitere Begründung, auch nicht 
mit loglevel 3, und wenn ich es gar nicht anstöpsel seh ich auch keinen 
Unterschied, es ist als ob es gar nicht existiert. Das offizielle Tool 
verbindet sich damit jedoch ohne Probleme)
* openocd 0.8.0 Binaries von Freddie Chopin
* openocd 0.7.0 (ebenfalls von dort)
* openocd 0.8.0 aus dem gnuarmplugin installer
* openocd 0.8.0 von noch ner anderen Quelle
* em:blocks aktuelle Version (dessen debug server meldet "Couldn't find 
ST-Link probes")

Jetzt würde ich gerne zunächstmal nen Realitäts-Check machen, vielleicht 
versuche ich ja etwas zu tun das gar nicht möglich ist. Daher die Frage.

von Stephan K. (nightowl)


Lesenswert?

Ich habs grad mal angesteckt.
Der Massenspeicher wird in Linux und in Win7 64bit angezeigt.
In Windows wird bei der automatischen Treiberinstallation "ST-Link 
Debug" "Es wurde kein Treiber gefunden" angezeigt.

Ich habe ansonsten 3 unterschiedliche Treiber für ST-Link auf dem 
Rechner.
Irgendeine Install Routine hat das neulich angezeigt.

Gruß Stephan

von Stephan K. (nightowl)


Lesenswert?

Nach der Installation des Treibers hier

http://www.st.com/web/catalog/tools/FM147/SC1887/PF260219#

wird auch das St-Link erkannt.

Dann noch das Upgrade

http://www.st.com/web/catalog/tools/FM147/SC1887/PF260217

GDB lässt sich aus EM:Bocks 2.3 heraus verbinden und stoppt mein 
Programm auf dem Nucleo.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Stephan K. schrieb:
> Nach der Installation des Treibers hier
>
> http://www.st.com/web/catalog/tools/FM147/SC1887/PF260219#
>
> wird auch das St-Link erkannt.
>
> Dann noch das Upgrade
>
> http://www.st.com/web/catalog/tools/FM147/SC1887/PF260217
>
> GDB lässt sich aus EM:Bocks 2.3 heraus verbinden und stoppt mein
> Programm auf dem Nucleo.

Oh, den STSW-LINK009 und den STSW-LINK007 hab ich gar nicht gesehen! Ich 
war hier: 
http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168?sc=internet/evalboard/product/251168.jsp 
die Treiber gehen nicht (also ist das wohl doch ne andere Hardware) aber 
das STSW-LINK004 (das utility) bringt auch Treiber mit und die haben es 
mit dem st-utility zum Laufen gebracht und alle gelben Warnschilder im 
Gerätemanager waren weg.

Nur der gdb debug server tut so als ob das Gerät überhaupt nicht 
existiert.

Dann probier ich morgen noch mal die beiden oben genannten Versionen.

: Bearbeitet durch User
von Stephan K. (nightowl)


Lesenswert?

Ich musste in Em:Blocks auch erst nochmal die Konfiguration aufrufen.
Obwohl ich dabei nicht verändert habe hat er danach die Verbindung 
hergestellt.

von Bernd K. (prof7bit)


Lesenswert?

Zwei Worte: Blaue Buchse (!)

Ich fass es nicht. Alle Treiber, alle openocd-Versionen, alle st-link 
Firmwareversionen die ich gestern durchprobiert habe hätten alle 
problemlos funktioniert wenn ich das USB-2.0 Kabel des stm32nucleo nicht 
in einen USB-3.0-fähigen Port gestöpselt hätte.

schwarze Buchse: bekomme sofort einen Connect mit OpenOCD
blaue Buchse: Das Gerät erscheint zwar im Gerätemanager, OpenOCD findet 
es aber nicht.

Ich weiß nicht wa ich dazu sagen soll, ich bin mehr oder weniger 
sprachlos.

: Bearbeitet durch User
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.