Forum: Mikrocontroller und Digitale Elektronik STM32F103C8T6 mit ST-LINK/V2 flashen


von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Hi,

ich würde gerne das STM32F103C8T6 flashen. Ich habe auch einen ST-Link 
Programmer und zwar den
ST-LINK/V2
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/translations/en.DM00026748.pdf

Jetzt verstehe ich nicht wie ich das anschließen muss (bzw ob ich das 
kann). Der STM32 hat ja nur vier output pins:
3V3
SWIO
SWCLK
GND

Der Programmer hat zwei Ausgänge. Den STM 8 und STM 32. Aber in obigem 
PDF passen die Bezeichnungen alle irgendwie nicht.

Ist das überhaupt der richtige Programmer? Entschuldigt bitte die 
Anfänger-Frage. Ich habe tatsächlich überhaupt keine Ahnung von den STM 
Boards. Ich will lediglich die WordClock hier nachbauen:
https://www.mikrocontroller.net/articles/WordClock_mit_WS2812

und muss eben den Code flashen.

Ich wollte es mir und der Umwelt sparen einen Programmer anzuschaffen, 
wenn der o.g. vorhanden ist und vom Namen her so klingt als würde er 
passen :)

Wer weiß was?

von Johannes S. (Gast)


Lesenswert?

Tabelle 4 in deinem Dokument erklärt es doch, schau mal auf Pin 7 und 9. 
Es wird die SWD Schnittstelle genutzt.

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Super danke!
Dann hab ichs jetzt geblickt.
3v3 => Pin 19
SWIO => Pin 7
SWCLK => Pin 9
GND => Pin 4 (bzw. jeden Pin mit gerader Ziffer außer 2)

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Nun blinkt auf dem STM32F103C8T6 fröhlich eine grüne LED und eine rote 
leuchtet.
Wenn ich im STM32 ST-LINK Utility auf
Target => Connect gehe hört die grüne auf zu blinken und die Software 
meldet "Can not connect to target!" Und ich soll "Connect under Reset" 
probieren. das hilft aber auch nicht.

Was kann jetzt falsch sein?

von Pieter (Gast)


Lesenswert?

Ide F. schrieb:
> Nun blinkt auf dem STM32F103C8T6 fröhlich eine grüne LED und eine rote
> leuchtet.
> Wenn ich im STM32 ST-LINK Utility auf
> Target => Connect gehe hört die grüne auf zu blinken und die Software
> meldet "Can not connect to target!" Und ich soll "Connect under Reset"
> probieren. das hilft aber auch nicht.

Hatte ich auch: Reset gedrückt halten, "Connect under Reset" auslösen 
und wieder loslassen.

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Ok, das wars evtl. irgenwie -oder auch nicht.

Lange rumprobiert mit  reset ab und wieder dran hin und her  mal connect 
under reset mal nicht probiert. Und auf einmal war unter "normal mode" 
dann Verbindung da.

kapiert hab' ichs nicht aber jetzt ist Verbindung da! danke

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Wenn ich nun mein Hex-File lade und auf "Programm and Verify" gehe 
kommt:

"Unexpected Error"
"Can not cennect to device!"
:(

Ganz schön hakelig...

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Bei
Target => Erase
kommt:
10:47:46 : Unexpected error
10:47:47 : Read out protection is activated

von Pieter (Gast)


Lesenswert?


von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Leider hilft das nicht.
Da stehen zwei lösungen.

1)
Einerhat VCC an Pin 1 angeschlossen. Wenn ich das mache leuchtet aber 
gar keine LED und Verbinden ist nicht möglich.

2)
"Take any other HEX file and programe it. It will remove read out 
protection"
Programmieren geht ja aber nicht. Wie oben gepostet.

Was nun?

von Dumpf Backe (Gast)


Lesenswert?

Ide F. schrieb:
> Was nun?

Hast du denn deinen Controller mit Spannung versorgt?
Darüber wurde bisher nicht gesprochen, daher die einfache
Frage.

Die Verbindung vom ST-Link kann nicht dazu dienen
deinen Controller zu versorgen .....

von Dumpf Backe (Gast)


Lesenswert?

Ide F. schrieb:
> 3v3 => Pin 19

Das ist wohl falsch.

Pin 1 und 2 des ST-Link gehören an 3.3V des zu programmierenden
Controllers.

Das ist "VAPP" auch besser veständlich als "V Target", das ist
die Spannung die vom Controler kommt und vom ST-Link als
"Betriebsspannung vorhanden" überwacht wird.

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Hatte ich nicht.

Habe jetzt den Controller gleichzeitig mit einem MicroUSB-Kabel am PC 
angeschlossen.

Leider das gleiche Bild. Sobald ich auf "Programm & Verify" gehe:

11:09:57 : Unexpected error
11:09:58 : Can not connect to device!

und bei Target Reset:
"Read out protection is activated"

Ich bekomme auch nur im "Hot Plug" Verbindung. Ist das richtig?
4 MHz?
Access Port 0?

Reset Mode?
Das habe ich alles gelassen wie es war...

von Dumpf Backe (Gast)


Lesenswert?

Ide F. schrieb:
> Das habe ich alles gelassen wie es war...

Lies was ich geschrieben habe.

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Ok. Jetzt hat es geklappt!

Lösung:

3v3 => Pin 19
SWIO => Pin 7
SWCLK => Pin 9
GND => Pin 4 (bzw. jeden Pin mit gerader Ziffer außer 2)

ist Falsch!

3v3 => Pin 1
SWIO => Pin 7
SWCLK => Pin 9
GND => Pin 4 (bzw. jeden Pin mit gerader Ziffer außer 2)

ist richtig.

Dann zusätzlich eben Power durch den MicroUsb. Dann hat er programmiert!

Danke!

von Ide F. (Firma: Herr) (idefixchen)


Lesenswert?

Oha! Sorry "Dumpf Backe", Deinen Beitrag zur Lösung hatte ich 
tatsächlich nicht gesehen (Browser update).

Dann hätte ich es direkt gehabt! Trotzdem danke!

von Stefan F. (Gast)


Lesenswert?

Lies Dir das mal durch: http://stefanfrings.de/stm32/index.html

Da sind die bereits beantworteten Fragen erörtert und sicher auch einige 
der nächsten fragen die noch kommen werden.

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.