Forum: Mikrocontroller und Digitale Elektronik Bluepill als ST-Link/V2 für Coocox 1.7.8


von J. -. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Bluepiller ;),

normalerweise benutze ich bisher immer den ST-Link von einem 
STM32F429-Discovery-Board, um meine anderen STM32-Schaltungen zu 
programmieren. Jetzt ist das Discovery-Board aber schon etwas sperrig, 
hat außerdem kein Gehäuse und ich dachte, ich bau mir jetzt mal einen 
kleinen ST-Link/V2(-1) aus einem Bluepill. Oder am besten gleich zwei, 
dann bleibt einer am Laptop und der andere am Desktop.

Gesagt, getan. Über den UART-Bootloader das Bluepill auf 
STLinkV2.J16.S4.bin geflasht, anschließend über USB ein Upgrade auf 
verschiedene neuere ST-Link-Versionen gemacht. Funktioniert alles gut.
Auch kann ich mit dem STM32 ST-LINK Utility Pgramme auf das Zielsystem 
übertragen - wenn ich den Software-Reset dort aktiviere. Anders (also 
mit Hardware-Reset) geht es nicht, obwohl ich als SWD einen 5-pol 
Stecker nehme (VCC,SWCLK,GND,SWDIO,NRST).

Am Bluepill-Board sollen die Steuersignale für die SWD-Schnittstelle 
dazu korrespondierend so verfügbar sein (nach dem Original 
ST-Link-V2-Schematic, siehe Anhang:)
PA5 oder PB13 -> SWCLK
PB14 -> SWDIO
PB0 -> RST

Problem: Mit Coocox funktioniert es nicht, und ich nehme an, daß es an 
dem nicht funktionierenden Hardware-Reset liegt (Coocox-Fehlermeldung 
beim Flashversuch:  "Error: Connect failed, check config and cable 
connection").

Habt ihr eine Idee, wieso der Reset nicht richtig funktioniert (ich habe 
auch die neueste Version en.stsw-link007_2.31.21 ausprobiert, geht auch 
nicht)?

von J. -. (Gast)


Lesenswert?

Huch, es funktioniert jetzt ;))
Zwar hatte ich mal den Reset anstatt an PB0 an PB1 vom Bluepill gelötet, 
und dann lief das plötzlich. Dem traute ich aber nicht und habe wieder 
zurück auf PB0 gelötet. Und es läuft jetzt auch. Komisch.

Ich glaube, am wahrscheinlichsten ist, daß Coocox die ganze Zeit 
geöffnet war. Das hat sich also wohl den "falschen" ST-Link gemerkt (den 
vom Discovery).
Allerdings interessant, daß der Reset-Pin beim Coocox-Flasher gar nicht 
verwendet wird. Dann hätte ich mir das nämlich bei allen meinen Boards 
sparen können, und statt 5 Pins nur 4 nehmen.

Anyhow - Entwarnung. Es läuft jetzt.

von Ralph S. (jjflash)


Lesenswert?

... und wieso besorgst du dir nicht einfach das hier?

https://www.ebay.de/itm/ST-Link-V2-Programming-Unit-mini-STM8-STM32-Emulator-Downloader-M89-HGUK/192643071869?hash=item2cda6bff7d:g:bJoAAOSwJGlbTapG

Am Bluepill mußt ja mindestens den Widerstand an der USB Buchse ändern, 
hast kein Gehäuse und keinen Connector für das Target.

Mich würde eher interessieren, wo in der Binarie STLinkV2.J16.S4.bin das 
Optionbyte versteckt ist das dafür sorgt, das Readout aktiviert ist und 
ein F103 danach nur mit einem weiteren ST-LINK (und einem Connect unter 
Reset) zugänglich ist und dort dann das Readout von Hand deaktviert 
werden muss.

von J. -. (Gast)


Lesenswert?

Ralph S. schrieb:
> ... und wieso besorgst du dir nicht einfach das hier?
Weil ich's nicht mit diesem Riesen-JTAG-Oschi wollte, und dann auch 
nicht weiß, ob man einen Clone-Clone kriegt. Bei Bluepill zwar auch 
nicht, aber ... ok, das lag halt rum und hat mich bettelnd angeschaut, 
doch was mit ihm zu machen ;)

> Am Bluepill mußt ja mindestens den Widerstand an der USB Buchse ändern,
> hast kein Gehäuse und keinen Connector für das Target.
Das mit dem Gehäuse ist schlecht, aber das Ding klebe ich irgendwo am 
Schreibtisch fest. Das mit dem Stecker ist nicht so schlimm, ich benutze 
eh nur die 5 (bzw. wohl eher 4) SWD-Leitungen.

> Mich würde eher interessieren, wo in der Binarie STLinkV2.J16.S4.bin das
> Optionbyte versteckt ist das dafür sorgt, das Readout aktiviert ist und
> ein F103 danach nur mit einem weiteren ST-LINK (und einem Connect unter
> Reset) zugänglich ist und dort dann das Readout von Hand deaktviert
> werden muss.
Aha. So ist das? ;)
Ja, keine Ahnung. Ich bin schon zufrieden, daß es läuft g

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.