Forum: Mikrocontroller und Digitale Elektronik Mein STM ST-Link-JTAG Adapter.


von Werner S. (wernertrp)


Lesenswert?

Mein STM ST-Link-JTAG Adapter.

Der lag ca. 5 Jahre unbenutzt in der Schachtel.
Heute habe ich ihn rausgeholt und an Win 8.1 angeschlossen.
Dort hat er sich als Wechseldatenträger angemeldet.
Als write protect.
Es sind im 3 Dateien drauf es sind links zu ST.

Ich habe versucht ihn unter der beiliegenden Software IAR Workbench IDE 
anzumelden.
Aber die USB Schnittstelle wird nicht erkannt.
(weil er sich unter Wechseldatenträger anmeldet ?)

Ich habe ihn auch eine einen alten Win XP-Rechner angeschlossen.
Dort ist das Gleiche, er meldet sich als Wechseldatenträger an.

von Rainer M. (excogitator)


Lesenswert?

Hast du den ST-Link Treiber installiert?
Am besten gleich das ST-Link Utillity installieren:
http://www.st.com/en/development-tools/stsw-link004.html
Damit kannst du dein ST-Link auch gleich auf den aktuellen Stand 
bringen.

Gruß
Rainer

von Werner S. (wernertrp)


Lesenswert?

Rainer M. schrieb:
> Hast du den ST-Link Treiber installiert?
> Am besten gleich das ST-Link Utillity installieren:
> http://www.st.com/en/development-tools/stsw-link004.html
> Damit kannst du dein ST-Link auch gleich auf den aktuellen Stand
> bringen.
>
> Gruß
> Rainer

stsw-link004.html ist installiert.
Die STM32 ST-Link Utility meldet:  no STLink detected.
Warum ?
ganz einfach, weil er sich unter Wechseldatenträger anmeldet
s.h. wie oben beschrieben.

von Johannes S. (Gast)


Lesenswert?

Sieh mal in die Eigenschaften von dem Gerät, es kann sich auch als 
Verbundgerät anmelden mit STLink und MSD.

von Werner S. (wernertrp)


Lesenswert?

Johannes S. schrieb:
> Sieh mal in die Eigenschaften von dem Gerät, es kann sich auch als
> Verbundgerät anmelden mit STLink und MSD.



Eigenschaften von STM32

ist ein USB Massenspeichergerät
ich habe jetzt mal auf deinstallieren geklickt.
Jetzt taucht er nicht mehr als Wechselspeicher auf.

Er wird aber trotzdem nicht von der STM32 ST-Link Utility erkannt.

Das ist übrigens nicht mein erstes USB-Entwicklungs-Gerät mit 
USB-Schnittstelle.
Ich schätze so, ich habe schon viele installiert.
Einige wenige ohne Erfolg.
Besonders die Chineesen in low cost.

von Jim M. (turboj)


Lesenswert?

Werner S. schrieb:
>> Sieh mal in die Eigenschaften von dem Gerät, es kann sich auch als
>> Verbundgerät anmelden mit STLink und MSD.

Das war ungenau. Stelle mal den Gerätemanager auf die Baumansicht um, 
und schaue mal wie der STM32 dran hängt. Dort sieht man ob dan nur ein 
Wechseldatenträger oder ein Verbundgerät mit weiteren Interface(es) am 
USB Hub hängt.

von Jim M. (turboj)


Lesenswert?

Hat das Ding zufällig noch eine weiter USB Buchse? Nicht das das ein 
Discovery ist und Du die ganze Zeit mit dem Applikations-µC und dessen 
Beispielcode redest anstatt dem Debugger....

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Werner S. schrieb:
> Mein STM ST-Link-JTAG Adapter.
>
> Der lag ca. 5 Jahre unbenutzt in der Schachtel.
> Heute habe ich ihn rausgeholt und an Win 8.1 angeschlossen.
> Dort hat er sich als Wechseldatenträger angemeldet.
> Als write protect.
> Es sind im 3 Dateien drauf es sind links zu ST.
> ...
> Ich habe ihn auch eine einen alten Win XP-Rechner angeschlossen.
> Dort ist das Gleiche, er meldet sich als Wechseldatenträger an.

Hmmm. genauso verhält sich mein STM8S-Discovery Board. Kann es sein dass 
du so eins hast?

von Werner S. (wernertrp)


Lesenswert?

Christopher B. schrieb:
> Werner S. schrieb:
>> Mein STM ST-Link-JTAG Adapter.
>>
>> Der lag ca. 5 Jahre unbenutzt in der Schachtel.
>> Heute habe ich ihn rausgeholt und an Win 8.1 angeschlossen.
>> Dort hat er sich als Wechseldatenträger angemeldet.
>> Als write protect.
>> Es sind im 3 Dateien drauf es sind links zu ST.
>> ...
>> Ich habe ihn auch eine einen alten Win XP-Rechner angeschlossen.
>> Dort ist das Gleiche, er meldet sich als Wechseldatenträger an.
>
> Hmmm. genauso verhält sich mein STM8S-Discovery Board. Kann es sein dass
> du so eins hast?

Eigenschaften von STM32

ist ein USB Massenspeichergerät
ich habe jetzt mal auf deinstallieren geklickt.
Jetzt taucht er nicht mehr als Wechselspeicher auf.

Er wird aber trotzdem nicht von der STM32 ST-Link Utility erkannt.

Das ist übrigens nicht mein erstes USB-Entwicklungs-Gerät mit 
USB-Schnittstelle.
Ich schätze so, ich habe schon einige installiert einige wenige ohne 
Erfolg.

Wenn ich den Treiber im Gerätemanager unter
Laufwerke STM32
deinstalliere
und neu boote, dann erscheint er trotzdem wieder als
STM32 sobalad ich den ST-Link an USB anschließe.


Es ist dieser:
http://www.st.com/content/ccc/resource/technical/document/user_manual/65/e0/44/72/9e/34/41/8d/DM00026748.pdf/files/DM00026748.pdf/jcr:content/tr

anslations/en.DM00026748.pdf

von Werner S. (wernertrp)


Lesenswert?


von A. B. (Gast)


Lesenswert?

Werner S. schrieb:
> Mein STM ST-Link-JTAG Adapter.
> Der lag ca. 5 Jahre unbenutzt in der Schachtel.

Dann ist's wohl ein V1 aus der Steinzeit?! Die haben bekanntermaßen so 
ihre kleinen Problem (haupts. unter Linux, aber auch bei Windows so ein 
bisschen).

Tipp: Ab in den Elektroschrott und einen vernünftigen ST-Link besorgen.

von Werner S. (wernertrp)


Lesenswert?

A. B. schrieb:
> Werner S. schrieb:
>> Mein STM ST-Link-JTAG Adapter.
>> Der lag ca. 5 Jahre unbenutzt in der Schachtel.
>
> Dann ist's wohl ein V1 aus der Steinzeit?! Die haben bekanntermaßen so
> ihre kleinen Problem (haupts. unter Linux, aber auch bei Windows so ein
> bisschen).
>
> Tipp: Ab in den Elektroschrott und einen vernünftigen ST-Link besorgen.

... so langsam komme ich auch zu dieser Meinung.
Übrigens den habe ich vor x Jahren bei Watterott gekauft.
Jetzt schaue ich noch mal nach wann das war.
Es war im Jahre 2011.

von Walter T. (nicolas)


Lesenswert?

Mach mal ein Foto. Am besten auch von der Unterseite (wegen des 
Etiketts).

von Werner S. (wernertrp)


Lesenswert?

Walter T. schrieb:
> Mach mal ein Foto. Am besten auch von der Unterseite (wegen des
> Etiketts).

die Etikette fehlt.
Nur CE und RoHS Aufdruck.
Jetzt kann ich ihn mal aufhebeln.
Schrauben hat der keine.

von Werner S. (wernertrp)


Lesenswert?

...  witzig da ist genau der Prozessor drin den ich programmieren will.
und noch ein 8-poliger zwei-reihiger leerer FK-Sockel CN2.
Plainenbeschriftung:


MB792

von Walter T. (nicolas)


Lesenswert?


von Werner S. (wernertrp)


Lesenswert?

Walter T. schrieb:
> Beitrag "Re: STM8S-Testboard"

ja das ist er.

Der CN2 ist sicher geeignet zum umrogrammieren.
Jetzt kaufe ich eine ST-Link zum umprogrammieren des ST-Link.


Spass beiseite Ernst herbei.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Der Stlink V1 war krank und hatte einen falschen Deskriptor fuer den 
Massenspeicher. Workarounds dafuer findet man im Netz. Evt gibt es bei 
ST auch Updates. Lade Dir mal den STM32 Cube Programmer herunter und 
versuche den Update.

von Werner S. (wernertrp)


Lesenswert?

Uwe B. schrieb:
> Der Stlink V1 war krank und hatte einen falschen Deskriptor fuer den
> Massenspeicher. Workarounds dafuer findet man im Netz. Evt gibt es bei
> ST auch Updates. Lade Dir mal den STM32 Cube Programmer herunter und
> versuche den Update.

en.stm32cubeprog.zip
SetupSTM32CubeProgrammer-1.0.0.exe


dieses Programm ist Java und will eine bestimmte Version von Java
auf dem Rechner haben. Ich habe aber Java 10 64 Bit drauf.
Es will aber Java vers. 1.8066 drauf haben.

von Jens (Gast)


Lesenswert?

Hallo,

die ST-Link Firmware ist ein wenig schwierig in allem.
Du kannst den auch als J-Link EDU um Programmieren

https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/

Damit hast vermutlich weniger Probleme.
Was je nach dem nicht mehr klappen könnte ist der Serielle Port als 
Terminal Ausgabe, die dann per Semihost laufen würde und langsamer ist.

Jens

von Dr. Sommer (Gast)


Lesenswert?

Jens schrieb:
> Du kannst den auch als J-Link EDU um Programmieren

Die Lizenz erlaubt das aber nur bei ST-Links, die auf Discovery/Nucleo 
Boards integriert sind...

von Hugo (Gast)


Lesenswert?

das kommt davon wenn Entwickler nur eine Versions-Ziffer (Einerstelle) 
auswerten, daher musst Du eine Version < 10 installieren :-)

Sollte eigentlich seit '99 -> 2000 Umstellung bekannt sein, oder auch 
nicht.

von Curby23523 N. (Gast)


Lesenswert?

A. B. schrieb:
> Tipp: Ab in den Elektroschrott und einen vernünftigen ST-Link besorgen.

Und bitte bitte einen originalen!

von Werner S. (wernertrp)


Lesenswert?

Curby23523 N. schrieb:
> A. B. schrieb:
>> Tipp: Ab in den Elektroschrott und einen vernünftigen ST-Link besorgen.
>
> Und bitte bitte einen originalen!

Diese Antwort wird mir sicherlich eine kleine Odyssee ersparen.
Ich habe mal ein bisschen gesurfed über die Unterschiede ST-Link V1 und 
ST-Link-V2.

In meiner nächsten Inkarnation (Inkarnudel)) werde ich nicht mehr Ing. 
Grad.
sondern Makler oder Gebrauchtwagenhändler oder Trompeter.
(die Trompeten habe ich schon, die Zähne pflege ich in der nächsten 
Inkarnation besser).

von Johnny B. (johnnyb)


Lesenswert?

Curby23523 N. schrieb:
> A. B. schrieb:
>> Tipp: Ab in den Elektroschrott und einen vernünftigen ST-Link besorgen.
>
> Und bitte bitte einen originalen!

Kann ich nicht bestätigen; mein ST-Link V2 Clone von Aliexpress für USD 
1.80 funktioniert einwandfrei zum Debuggen und Flash beschreiben per 
SWD. Man muss einfach in der Software einstellen, dass man den 
"Software-Reset" verwenden will.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Man kann mehrere Java Versionen gleichzeitig installieren. Die 
Umgebungsvariable JAVA_HOME soll auf das Verzeichnis der Version zeigen, 
die man gerade benutzen möchte.

Am besten in der Eingabeaufforderung:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_121\
cd meinprogramm
java -jar meinprogramm.jar

Oder wie auch immer das Programm gestartet werden soll.

von Johannes S. (Gast)


Lesenswert?

man kann den STLink auch mit alternativer Firmware flashen: 
https://github.com/blacksphere/blackmagic/wiki
Der V1 hat zwar offiziel nur einen µC mit 64 kB Flash drin, aber 
überlicherweise sind da tatsächlich 128 kB drin. Mit OpenOCD oder 
stm32flash bekommt man das binary da rein.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Johannes S. schrieb:
> man kann den STLink auch mit alternativer Firmware flashen:
> https://github.com/blacksphere/blackmagic/wiki

Da ist dann aber wieder das Henne/Ei Problem. Ohne einen anderen Adapter 
kann man den stlink aber nicht umprogrammieren.

Falls man auf dem STLink einen aktuellen Black magic debug (BMP) 
Bootloader programmiert, kann man mit(bmp)/scripts/stm32_mem.py am 
einfachsten ein Image auf einen STM32F103x8 aufspielen, das groesser als 
64 kiB ist. Zur Kontrolle wird der Flash zurueckgelesen, denn der Flash 
ueber der 64 k Grenze ist ja wahrscheinlich vom Hersteller nicht 
getestet

von Johannes S. (Gast)


Lesenswert?

Uwe B. schrieb:
> Da ist dann aber wieder das Henne/Ei Problem. Ohne einen anderen Adapter
> kann man den stlink aber nicht umprogrammieren.

da reicht ja ein USB-seriell Wandler, beim STLink war die serielle aber 
nur am Chip zugänglich? Das wäre dann nur etwas Friemmelei.

von W.S. (Gast)


Lesenswert?

Werner S. schrieb:
> Jetzt kaufe ich eine ST-Link zum umprogrammieren des ST-Link.
>
> Spass beiseite Ernst herbei.

Tja.

Benutze schlicht und einfach den eingebauten Bootlader, da bist du frei 
von allen Lizenzorgien. Und mit dem kannst du deinen ST-Link auch neu 
programmieren. Was du brauchst, ist lediglich ein USB-zu-Seriell 
Konverter, dr auf der seriellen Seite kein V.24 sondern TTL Pegel 
ausgibt. Sowas gibt's für zwofuffzig beim freundlichen Chinesen und das 
kannst du später sehr gut auch für gewöhnliche Zwecke benutzen.

Eine Firmware für den ST-Link findest du im Netz und auf die endgültige 
Firmware kannst du das Ding später mit dem von ST bereitgestellten 
Programm bringen.

W.S.

von Uwe Bonnes (Gast)


Lesenswert?

Bein den STM Boards mit Stlink ist der Bootloader des Stlinks aber nur 
nach einer Lötorgie zu aktivieren.

von pegel (Gast)


Lesenswert?

Obwohl die billigen ST-Link aus China gut für SWD funktionieren und nach 
meiner Pleite mit dem China JLink, werde ich bei der nächsten Bestellung 
einen originalen ordern.

https://de.rs-online.com/web/p/entwicklungskits-prozessor-mikrocontroller/7141701/

Ich denke durch die vielen guten Boards die STM liefert, kann man auch 
mal etwas originales für ein paar mehr € kaufen.

von Christopher J. (christopher_j23)


Lesenswert?

Ja, man kann sich natürlich auch einen originalen ST-Link bei Mouser 
oder wo auch immer bestellen und für Gewerbe sowieso, schließlich kosten 
auch die originalen fast nichts. Ich sehe aber weder moralisch noch 
funktional einen Grund warum man als Hobby-Bastler einen originalen 
ST-Link V2 benötigt. Da würde ich wohl eher die 20€ für einen 
(originalen) J-Link EDU mini ausgeben und mir den China-Klon eines 
ST-Link V2 (kein mini) beim Ali bestellen, also in etwa so einen 
https://www.aliexpress.com/item/1pcs-New-ST-LINK-V2-ST-LINK-V2-CN-ST-LINK-STLINK-Emulator-Download-Manager-STM8/32796459383.html

von Werner S. (wernertrp)


Lesenswert?

ws 30.3.2018



Brainstorm-ST-Link Adapter:
--------------------------


Ich habe mein ST-Link Adapter von V1 auf V2 umprogrammiert.


For Debugging also look at:
https://github.com/blacksphere/blackmagic/wiki


Den ST-Link Adapter habe ich aufgehebelt:
Platinenbeschriftung: MB792
FK Steckerbelegung 2-reihig 8-polig:

Es ist der folgened Chip verbaut:
Chip STM32F103C8T6  GH212

hier sehen Sie den FK-Stecker CN2:
geht zum Prozessor pin: p-x
----------------------------------
                 CN2:
----------------------------------
   p-36; p-1     1  2    p-40
         p-39    3  4    p-37
         p-34    5  6    p-38
   GND   p-47    7  8    p-7


p-1  =  Vbat; Vdd2; p-36;
p-40 =  PB4; MISO
p-39 =  PB3; JTD0
p-37 =  PA14; SWCLK
p-34 =  PA13, JTMS, SWDIO
p-35 =  Vss-2
p-38 =  PA15; JTDI
p-47 =  Vss-3 auch GND
p-7  =  NRST

                CN2
---------------------------------------
       (Vbat)   1  2   (MISO)
       (JTDO)   3  4   SWCLK
        SWDIO   5  6   (JTDI)
 GND    Vss-3   7  8   NRST


Das Board STM32F407VGT6-Discovery der Connector SWD:
----------------------------------------------------
Connector: FK-6-polig, einreihig.
Wenn Sie die Jumper vom Connector CN3 beide entfernen so können sie das 
Board als SWD Programmer benutzen.

1  AIN1
2  TJTCK
3  GND
4  SWDIO, JTMS, SWO
5  NRST
6  SWO


Folgende Verbindungen müssen zum Programmieren des ST-Link hergestellt 
werden:
------------------------------------------------------------------------ 
------
Von Board Board STM32F407VGT6-Discovery der Connector SWD
zu Board  ST-Link-Adapter-Board-MB792   der Connector CN2


Discovery-Board zum  ST-Link-MB792-Board
Connector SWD   zum   Connector CN2
----------------------------------------
NRST   --->   NRST
GND    --->   GND
TJTCK  --->   SWCLK
SWDIO  --->   SWDIO

Jetzt kann ich den Chip auf dem Board ST-Link MB792 lesen:
----------------------------------------------------------
Leider nicht; den das memory protect bit ist gesetzt.
Wenn das memory protect bit freigeschalten wird so wird der Speicher 
jedoch gelöscht.
ST-Link Firmware Version: V2J23S0  STM32F407VGT6-Discovery
Device family: STM32F10xx
Flash size: 64 kBits
DeviceID: 0x410
Flash is blank



Jetzt suche ich das ST-LINK V2 Firmware download binary file dazu:
-------------------------------------------------------------------
Ich habe das folgende file gefunden:  STLinkV2.J16.S4.bin
https://github.com/solosky/stlink-uart/blob/master/STLinkV2.J16.S4.bin
Aktuell ist Firmware V2J25. V1J13S0 ist alt.

Es wird von der Windows Software 8.1 auf USB als STM-Link erkannt.

jetzt habe ich diese Firmware abgedatet auf:
V2.J29.S7 STM32+STM8 Debugger
Leider bringt das Programm: ST32 ST-Link utility,
die Fehlermeldung: STLink USB communication error.


Eine alte Version von  ST32 ST-Link utility installier Vers. 2.3.0:
-------------------------------------------------------------------
Der ST-Link hat jetzt die Version:  V2.J29.S7 JTAG+SWIM Debugger
Jetzt wird der ST-Link erkannt und es kommen Signale an der
20-poligen 2-reihigen FK Steckerleiste.
An den folgenden Pins der 20-poligen Fk-Steckerleiste habe ich Impulse 
oszillographiert:
pin-9; pin-7;


Ich habe jetzt zwei ST-Links:
small Box: St-Link Box V2
und
Board STM32F407VGT6-Discovery



Jetzt warte ich auf das ebay-board: ebaykauf-STM32F103C8T6:
----------------------------------------------------------





File-end: brainstorm-st-link.txt

von STM Apprentice (Gast)


Lesenswert?

Werner S. schrieb:
> Discovery-Board zum  ST-Link-MB792-Board
> Connector SWD   zum   Connector CN2
> ----------------------------------------
> NRST   --->   NRST
> GND    --->   GND
> TJTCK  --->   SWCLK
> SWDIO  --->   SWDIO

Bei diesem etwas chaotischen (sorry) unverständlichen Post
fällt mir auf dass nirgendwo die Rede von 3.3V ist. ST-Link
braucht (besser gesagt verlangt danach) - um korrekt zu
arbeiten - die Information dass der Zielprozessor eine
Versorgungsspannung hat. Das mag bei den auf den Discovery-
Boards mit integrierten Programmern anders sein, jedoch die
Standalone Programmer brauchen das. Bei mir hat das noch
nie ohne Verbindung der Versorgungsspannung funktioniert.

von Werner S. (wernertrp)


Lesenswert?

Bei mir kommt die Versorgung über den USB Anschluß der ST-Link-Platine 
der 5,0 Volt hat und auf einen kleinen Regler führt, der dann auf der 
Platine die 3,3 Volt für den Prozessor erzeugt.
So konnte ich die ST-Link Platinum-programmieren.

von STM Apprentice (Gast)


Lesenswert?

Werner S. schrieb:
> Bei mir kommt die Versorgung über den USB Anschluß

Du hast es nicht verstanden. Ich habe nicht von der erforder-
lichen Versorgung gesprochen sondern von der Information für
den Debugger dass eine Versorgung vorhanden ist.

STM Apprentice schrieb:
> ST-Link
> braucht (besser gesagt verlangt danach) - um korrekt zu
> arbeiten - die Information dass der Zielprozessor eine
> Versorgungsspannung hat.

von STM Apprentice (Gast)


Lesenswert?


von Werner S. (wernertrp)


Lesenswert?

STM Apprentice schrieb:
> Werner S. schrieb:
>> Bei mir kommt die Versorgung über den USB Anschluß
>
> Du hast es nicht verstanden. Ich habe nicht von der erforder-
> lichen Versorgung gesprochen sondern von der Information für
> den Debugger dass eine Versorgung vorhanden ist.
>
> STM Apprentice schrieb:
>> ST-Link
>> braucht (besser gesagt verlangt danach) - um korrekt zu
>> arbeiten - die Information dass der Zielprozessor eine
>> Versorgungsspannung hat.

Ich bin noch nicht zum Debuggen mit dem ST-Link gekommen.
Ich habe das Board/Adapter ST-Link MB792 Debugger jetzt erst auf die 
Software-Version Version V2 gebracht.
Zuvor war eine V1 Version drin.
Später schließe ich den ST-Link über das 20-polige FK-Flachbandkabel an
ein ebay  Board STM32F103xxx an.
An diesem 20-poligen FK-Stecker des ST-Link ist ein pin 1,2 für das 
Signal TVcc.
Wahrscheinlich kommt hier die Spannung vom zu Debuggenden ebay Board 
STM32F103xxx herein. Das prüfe ich natürlich zuvor.

von Werner S. (wernertrp)


Lesenswert?

Ich habe ein Schaltbild von diesem ebay-board STM32F103xxx.
Dieses Schaltbild ist aber nicht vom diesem ebay Lieferanten.
Der hat keines mit reingestellt.
Das Board sieht aber ähnlich aus wie ein board auf YouTube.
Hoffentlich ist das von mir bestellte ebay STM32F102xxx board dem 
entsprechenden passend.
Das prüfe ich natürlich auch.
Im Schaltbild dieses Boards ist am 20-poligen FK-Stecker an pin 1,2 eine 
Vcc 3,3 Volt Spannung eingezeichnet.

Mal sehen ob ich dann dieses Board programmieren kann, ob ich es 
debuggen kann ist eine weitere Frage.

von Werner S. (wernertrp)


Lesenswert?

hier ist die ebay nummer: 172281205211

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.