Forum: Mikrocontroller und Digitale Elektronik Bluepill mit STLINK/V2 wird mit st-info -probe nicht erkannt


von Christoph K. (chriskuku)


Lesenswert?

Ich wollte mir einen STLINK/V2 mit einem Bluepill (STM32F103C8T6) 
erzeugen. Habe die Firmware installiert (STLINK.HEX seriell mit der 
Demonstrator GUI) und auch (unter Windows) mit dem STM32 STLINK Utility 
dann den Firmware Upgrade gemacht. Mache ich sofort danach ein (vor dem 
Firmware upgrade)

$ st-info --version
v1.7.0

so bekomme ich:

<pre>
$ st-info -probe
libusb: warning [darwin_transfer_status] transfer error: timed out
[!] send_recv read reply failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_DEBUG_ENTER
libusb: warning [darwin_transfer_status] transfer error: timed out
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_JTAG_READDEBUG_32BIT
libusb: warning [darwin_transfer_status] transfer error: timed out
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_JTAG_DRIVE_NRST
libusb: warning [darwin_transfer_status] transfer error: timed out
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_JTAG_DRIVE_NRST
libusb: warning [darwin_transfer_status] transfer error: timed out
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_DEBUG_RESETSYS
libusb: warning [darwin_transfer_status] transfer error: timed out
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_DEBUG_READCOREID
</pre>

Nach dem Firmware Upgrade gibt st-info -probe nichts zurück, macht auch 
keine Fehlermeldung. st-info -probe unter macOS erkennt kein Device. 
Unter Windows wird ein STM32 Stlink USB Gerät angezeigt.
Nach dem Programmieren des STLINK.HEX funktioniert der Firmware Upgrade 
genau einmal.

Will ich dann neuerlich verbinden, z.B. mit dem STLINK Utility, so 
bekomme ich ein Fenster "ST-Link is not in the DFU-Mode. Please restart 
it."

Ich habe es mit einer älteren Bluepill und einere neueren (WeAct) 
ausprobiert.

Ziemlich instabil das alles.

: Bearbeitet durch User
von Sebastian R. (sebastian_r569)


Lesenswert?

Christoph K. schrieb:
> Will ich dann neuerlich verbinden, z.B. mit dem STLINK Utility, so
> bekomme ich ein Fenster "ST-Link is not in the DFU-Mode. Please restart
> it."

Hast du es denn dann mal neu gestartet, wie von der Fehlermeldung 
vorgeschlagen?

von Christoph K. (chriskuku)


Lesenswert?

Sebastian R. schrieb:
> Christoph K. schrieb:
>> Will ich dann neuerlich verbinden, z.B. mit dem STLINK Utility, so
>> bekomme ich ein Fenster "ST-Link is not in the DFU-Mode. Please restart
>> it."
>
> Hast du es denn dann mal neu gestartet, wie von der Fehlermeldung
> vorgeschlagen?

Ja. Ich werde jetzt als nächstes mal einen Upgrade von Parallels machen. 
Alle USB Operationen unter Windows sind instabil. Hatte es jetzt auch 
mit einem DISCOVERY Board versucht. Auch viele USB Fehler - nicht 
erkannt, usw. Vielleicht sollte ich doch mal native auf Windows gehen.

Danke erst mal. Ich forsche noch etwas.

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

Parallels war's jetzt nicht. Aber das alte Zeugs (Stlink, GUI Demo) 
sollte man nicht mehr verwenden. Mußte einige Klimmzüge machen. Erst mal 
auf Windows weitergearbeitet und STM32CubeProgrammer runtergeladen 
(2.20.0).

Der meldet erst mal, daß es ein ST-LINK mit alter Seriennummer sei. 
Schlägt Upgrade vor. Starten im Upgrade Mode schlug erst mal fehl. Dann 
habe ich bei gestartetem STM32CubeProgrammer erst noch mal das Device 
ausgeworfen und wieder neu angeschlossen. Es handelte sich dabei bereits 
um die zuvor über STLINK.HEX geflashte BluePill. Ich konnte die dann in 
den Upgrade mode bringen und der Upgrade hat jetzt geklappt.(RESET Mode 
"Hardware Reset", Debug in low power mode abgewählt, nur so mal, 
intuitiv). ST-Link Firmware Version ist nun V2J46S7.

st-info -probe auf dem Mac sagt allerdings immer noch nichts. Will jetzt 
mal versuchen, mit STM32CubeIDE oder OpenOCD auf dem Mac dahin zu 
verbinden.

Kam gerade auf die Idee, auf der Mac-Seite noch mal eben den 
STM32CubeProg zu starten. Die ST-LINK Bluepill wird erkannt, aber es 
wird gemeckert, es sei kein STM32 Target vorhanden. Gut, ist ja auch 
noch nichts angeschlossen:

<pre>
14:50:44 : STM32CubeProgrammer API v2.20.0 | MacOS-64Bits
14:50:59 : UR connection mode is defined with the HWrst reset mode
14:50:59 : UR connection mode is defined with the SWrst reset mode
14:50:59 : ST-LINK SN  : XXXXXXXXXXXXXXXXXX460487
14:50:59 : ST-LINK FW  : V2J46S7
14:50:59 : Board       : --
14:50:59 : Voltage     : 3.38V
14:50:59 : Error: Unable to get core ID
14:50:59 : Error: No STM32 target found! If your product embeds Debug 
Authentication, please perform a discovery using Debug Authentication
</pre>

Schließe ich ein Target an über SWD (GND,SWIO,SCLK), immer noch nichts.

: Bearbeitet durch User
von Nemopuk (nemopuk)


Lesenswert?

Christoph K. schrieb:
> Schließe ich ein Target an über SWD (GND,SWIO,SCLK), immer noch nichts.

Setze beim Target mal Boot0 auf 1. Weil: Die Cube IDE generiert 
standardmäßig Code, der die SWD Schnittstelle des Targets deaktiviert. 
Durch aktivieren des Bootloaders verhinderst du, dass das störende 
Programm startet.

von Christoph K. (chriskuku)


Lesenswert?

Nemopuk schrieb:
> Christoph K. schrieb:
>> Schließe ich ein Target an über SWD (GND,SWIO,SCLK), immer noch nichts.
>
> Setze beim Target mal Boot0 auf 1. Weil: Die Cube IDE generiert
> standardmäßig Code, der die SWD Schnittstelle des Targets deaktiviert.
> Durch aktivieren des Bootloaders verhinderst du, dass das störende
> Programm startet.

Das Target ist ein STM32H503 und der hat einen Druckknopf für BOOT0.
Den gehalten, bringt nichts. Übrigens, das

st-info -probe Kommando muß heißen:

st-info --probe ("§$%&/! Argghh!)
(womit das Topic sich erledigt hat :)

<pre>
$ st-info --probe
Found 1 stlink programmers
  version:    V2J46S7
  serial:     XXXXXXXXXX460487
  flash:      0 (pagesize: 0)
  sram:       0
  chipid:     0x0000
  descr:      unknown device

</pre>

von Frank K. (fchk)


Lesenswert?

Mir wäre meine Zeit dafür zu schade. Kauf Dir das hier:

https://www.st.com/en/development-tools/stlink-v3minie.html

Kostet 10€ bei Digikey. Ist obendrein HighSpeed USB. Funktioniert 
einwandfrei. Hat auch noch einen DebugUart mit dabei.

fchk

von Christoph K. (chriskuku)


Lesenswert?

Frank K. schrieb:
> Mir wäre meine Zeit dafür zu schade. Kauf Dir das hier:
>
> https://www.st.com/en/development-tools/stlink-v3minie.html
>
> Kostet 10€ bei Digikey. Ist obendrein HighSpeed USB. Funktioniert
> einwandfrei. Hat auch noch einen DebugUart mit dabei.
>
> fchk

Und was brauche ich für den Anschluß am edge connector?
Ich benutze ansonsten die STLINK/V2 Dongles auf blackmagic probe 
umprogrammiert. Brauchte jetzt nur mal einen STLINK/V2.

von Frank K. (fchk)


Lesenswert?

Christoph K. schrieb:
> Frank K. schrieb:
>> Mir wäre meine Zeit dafür zu schade. Kauf Dir das hier:
>>
>> https://www.st.com/en/development-tools/stlink-v3minie.html
>>
>> Kostet 10€ bei Digikey. Ist obendrein HighSpeed USB. Funktioniert
>> einwandfrei. Hat auch noch einen DebugUart mit dabei.
>>
>> fchk
>
> Und was brauche ich für den Anschluß am edge connector?
> Ich benutze ansonsten die STLINK/V2 Dongles auf blackmagic probe
> umprogrammiert. Brauchte jetzt nur mal einen STLINK/V2.

ARM hat den 10-poligen Pinheader im 0.05"-Raster für Cortex definiert. 
Das ist DER Standard.

https://developer.arm.com/documentation/101416/0100/Hardware-Description/Target-Interfaces/Cortex-Debug--10-pin-

Den nicht zu benutzen macht man nur, wenn man sehr gute Gründe hat. So 
ziemlich alle ARM-Debugger verwenden diesen Anschluss ... ggf mit 
Adaptern. Sei es Segger JLink, Keil ULink, TI XDS100/X110, selbst das 
Atmel ICE hat das.

fchk

von Harry L. (mysth)


Lesenswert?

Kauf dir so ein Adapter-Set!
Damit bist du für jeden gängigen Anschluss versorgt.

https://de.aliexpress.com/item/1005009745155777.html

von Christoph K. (chriskuku)


Lesenswert?

Frank K. schrieb:
> Mir wäre meine Zeit dafür zu schade. Kauf Dir das hier:
>
> https://www.st.com/en/development-tools/stlink-v3minie.html
>
> Kostet 10€ bei Digikey. Ist obendrein HighSpeed USB. Funktioniert
> einwandfrei. Hat auch noch einen DebugUart mit dabei.
>
> fchk

Mit Versand 28€.

von Frank K. (fchk)


Lesenswert?

Christoph K. schrieb:
> Frank K. schrieb:
>> Mir wäre meine Zeit dafür zu schade. Kauf Dir das hier:
>>
>> https://www.st.com/en/development-tools/stlink-v3minie.html
>>
>> Kostet 10€ bei Digikey. Ist obendrein HighSpeed USB. Funktioniert
>> einwandfrei. Hat auch noch einen DebugUart mit dabei.
>>
>> fchk
>
> Mit Versand 28€.

Ja und? War ja auch nur ein Beispiel. Nach dem günstigsten Anbieter 
googeln wirst Du ja wohl noch können.

fchk

von Rahul D. (rahul)


Lesenswert?

Frank K. schrieb:
> Mir wäre meine Zeit dafür zu schade. Kauf Dir das hier:
>
> https://www.st.com/en/development-tools/stlink-v3minie.html
>
> Kostet 10€ bei Digikey. Ist obendrein HighSpeed USB. Funktioniert
> einwandfrei. Hat auch noch einen DebugUart mit dabei.

oder in der Bucht mal nach einem "richtigen" ST-Link gucken.
Da habe ich meinen her. Bei RS gibt es den V2 auch für einen 20er (+ 
Mörderversandkosten für Privatkäufer)
Da kann man auch Dupont-Leitungen draufstecken.

von Nemopuk (nemopuk)


Lesenswert?

Man bekommt öfter auch diverse Nucelo64 Boards für unter 15 Euro. Die 
enthalten einen abtrennbaren ST-Link Adapter mit USB-UART und 
Stiftleisten für Dupont Kabel.

Ich weiß nicht, ob das bei den dedizierten ST-Links auch geht: Die 
Dinger an den Nucleo Boards kann man ganz ohne Softwareinstallation mit 
einem Dateimanager benutzen. Einfach eine *.bin Datei ins Fenster 
ziehen, und sie wird in den Programmspeicher übertragen.

: 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.