Forum: Mikrocontroller und Digitale Elektronik No ST-Link detected (Windows 10) STM32-ST-Link-Utility


von Christoph K. (chriskuku)


Lesenswert?

Ich versuche gerade mal wieder auf die Schiene zu kommen mit 
STM32-Programmierung nach längerer Pause.

Folgendes Setup: macOS mit Windows 10 (Parallels). Ziel ist es, unter 
macOS und STM32CubeIDE zu programmieren. Im Moment geht es aber darum, 
die Konnektivität zu verifizieren, und das versuche ich mit dem
ST-Link-Utility unter Windows 10 (v4.5.0.0),
STLinkUSBDriver.dll v5.1.2.0,
ST-Link_CLI.exe v3.5.0.0.

Ich habe ein STM32F407G-DISC1 board MB997D über USB an den Mac 
angeschlossen und an Windows zugewiesen.

Die beiden ST-LINK Jumper sind off. Vom SWD-Port geht es an ein DIY-MORE 
STM32F407VGT6-Board:
1
DIY-MORE                                      STM32F407G-DISC1
2
                      SWD
3
                      CN2                        CN3
4
5
PA13   <—             SWCLK     -  2             OFF
6
PA14   <—             SWDIO     -  4              OFF
7
PB4    <—             NRST      -  5
PB4 habe ich jetzt erst versucht, vorher hatte ich am Resetbutton das 
NRST Signal angelötet und mit
SWD pin 5 verbunden.

Kein BOOT0 bzw. BOOT1 Jumper.

Die Fehlermeldungen sind unterschiedlich. Mal No ST-Link Detected, ein 
andermal "cannot connect to target" und man solle Normal oder Hotplug 
mode versuchen. Bin etwas ratlos im Moment. Vielleicht kann jemand 
helfen. Danke.

Vielleicht noch ergänzend: Die multi-section LED auf dem DISC1 leuchtet 
dauernd grün, nach einer längeren rot/grün Wechselphase nach dem 
Einschalten.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Du hast ein Clone! Der funktioniert unter macOS nicht bzw kann unter 
Parallels nicht durchgereicht werden!

von Christoph K. (chriskuku)


Lesenswert?

MaWin schrieb:
> Du hast ein Clone! Der funktioniert unter macOS nicht bzw kann unter
> Parallels nicht durchgereicht werden!

Was meinst Du mit Clone? Das DIY-More Board? Bin mir zwar nicht 100%ig 
sicher, aber ich meine, das hätte alles schon funktioniert. Zumindest 
unter STM32CubeIDE auf macOS native.

Hatte gerade mal "erfolgreich" einen Firmware Update im ST-Link gemacht. 
Allerdings scheint es ein downgrade gewesen zu sein: V2J39M27 war 
vorher, jetzt V2J34. Und im Moment kann ich auch wieder nicht verbinden, 
also kein ST-Link detected. Das sollte ja mit dem Target noch nichts zu 
tun haben.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Clones werden nicht mehr unterstützt!

von Christoph K. (chriskuku)



Lesenswert?

Es scheint so, als könne ich ST-LINK Utility unter Windows nicht mehr 
zum upgrade auf eine neuere Firmware verwenden. Hatte ja gerade erfahren 
müssen, daß ich "downgegraded" wurde auf V2.J34.

Im STM32CUBEIDE konnte ich dann wieder auf V2.J39 upgraden .
Bitte zu entschuldigen, daß einige Duplikate dabei sind. Leider ist die 
Bildhochladefunktion hier etwas holprig.

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

MaWin schrieb:
> Clones werden nicht mehr unterstützt!

Irgendwie ist meine Antwort hierauf verlorengegangen.

Ich frage mich, was das genau heißen soll: "Clones werden nicht mehr 
unterstützt"?

Ich muß doch in der Lage sein, eine von mir entwickelte Hardware mit 
einem Original Discoveryboard, angeschlossen über SWD an mein Target, zu 
programmieren und zu debuggen. Was hat das mit "Clones" zu tun?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> Clones werden nicht mehr unterstützt!

Das lese ich heute zum ersten mal. Bist du da ganz sicher?

von Christoph K. (chriskuku)


Lesenswert?

Noch mal zum Verständnis: Mit Clone ist also die Target MCU gemeint.
Offenbar kann ST-LINK die erkennen. Das DIY-MORE Board hat demnach eine 
geklonte (gefälschte) MCU. Wie kann ein normal Sterblicher erkennen, daß 
es sich um eine geklonte MCU handelt. Würde ich also jetzt eine echte 
MCU dort auflöten, wäre das Problem weg?

: Bearbeitet durch User
von Klaus W. (mfgkw)


Lesenswert?

Wenn du ein DISCO-Board von ST hast, würde es mich schwer wundern wenn 
du einen Clone hast.

von Christoph K. (chriskuku)


Lesenswert?

Klaus W. schrieb:
> Wenn du ein DISCO-Board von ST hast, würde es mich schwer wundern wenn
> du einen Clone hast.

Ich dachte, das Target, also das DIY-MORE STM32F407VGT6 sei das Problem?
Habe jetzt mal OpenOCD direkt am macOS versucht:
1
$ ./DEBUG
2
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00378-ge5be992df (2020-06-26-12:31)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
  http://openocd.org/doc/doxygen/bugs.html
6
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
7
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
8
9
Info : Listening on port 6666 for tcl connections
10
Info : Listening on port 4444 for telnet connections
11
Info : clock speed 2000 kHz
12
Info : STLINK V2J39M27 (API v2) VID:PID 0483:374B
13
Info : Target voltage: 2.911243
14
Error: init mode failed (unable to connect to the target)


Im Vergleich dazu, das gleiche DISC1-Board, aber CN3 (DISCOVERY) Jumper 
ON, als on board MCU enabled:
1
$ ./DEBUG
2
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00378-ge5be992df (2020-06-26-12:31)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
  http://openocd.org/doc/doxygen/bugs.html
6
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
7
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
8
9
Info : Listening on port 6666 for tcl connections
10
Info : Listening on port 4444 for telnet connections
11
Info : clock speed 2000 kHz
12
Info : STLINK V2J39M27 (API v2) VID:PID 0483:374B
13
Info : Target voltage: 2.911243
14
Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
15
Info : starting gdb server for stm32f4x.cpu on 3333
16
Info : Listening on port 3333 for gdb connections

: Bearbeitet durch User
von Klaus W. (mfgkw)


Lesenswert?

Aber du nutzt doch den ST-Link auf dem DISCO?
Wenn du den nicht verbunden hast mit deinem fragwürdigen Board, sollte 
der ST-Link doch erkannt werden und upgedatet werden können. Geht das?

von Olaf (Gast)


Lesenswert?

Also ich wuerde in so einem Falle ja mal mein Oszi direkt an
die Pins der MCU halten und schauen ob man Datenuebertragung
auf den Programmierleitungen sieht. Man hat so ein Teil
ja nicht nur zum angeben sondern muss es manchmal auch benutzen. .-)

Olaf

von Christoph K. (chriskuku)


Lesenswert?

Klaus W. schrieb:
> Aber du nutzt doch den ST-Link auf dem DISCO?
> Wenn du den nicht verbunden hast mit deinem fragwürdigen Board, sollte
> der ST-Link doch erkannt werden und upgedatet werden können. Geht das?

Ja, den ST-LINK CN3 disabled und Target (DIY-MORE) an SWD angeschlossen.
Im obigen Test (OpenOCD) hatte ich im zweiten Falle die on Board MCU 
enabled.

Jetzt habe ich noch mal einen Test gemacht, Target Board ganz abgeklemmt 
vom DISC1 und CN3 open, also auf ST-LINK und ich kriege auf den Fall 1

Info : STLINK V2J39M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 2.911243
Error: init mode failed (unable to connect to the target)


Aber gut, ist ja auch kein Target dran. Vielleicht mache ich noch einen 
Fehler mit dem NRST?
Kann sein, daß NRST falsch angeschlossen war. Jetzt habe ich den Effekt, 
daß der Start von OpenOCD zwar keinen Fehler meldet, aber keinen Erfolg 
meldet sondern leise weinend aussteigt.
$ ./DEBUG
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00378-ge5be992df 
(2020-06-26-12:31)
Licensed under GNU GPL v2
For bug reports, read
  http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The 
results might differ compared to plain JTAG/SWD
srst_only separate srst_nogate srst_open_drain connect_deassert_srst

Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 2000 kHz


$

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