Forum: Mikrocontroller und Digitale Elektronik STM32F030 mit ST-Link flashen


von Christoph H. (christoph_b)


Angehängte Dateien:

Lesenswert?

Ich habe eine Zusatzplatine für das Raspberry welche einen STM32F030 
hat.
Nun habe ich weil ich ein Problem damit habe vom Hersteller eine Hex 
Datei bekommen um den STM32 neu zu flashen.

Ich habe von Früher ein STM32F4 Discovery Board mit ST-Link hier liegen.

Das Pinout der Raspberry Platine ist wie folgt.

Geht das überhaupt?

sG Chris

von Stefan F. (Gast)


Lesenswert?

Zu wenig Informationen. Meinst du nicht, dass der Plan wenigstens den 
Mikrocontroller enthalten sollte?

Ein paar grundlegende Infos dazu helfen dir vielleicht schon weiter: 
http://stefanfrings.de/stm32/stm32l0.html#proginterfaces

von STK500-Besitzer (Gast)


Lesenswert?

Christoph B. schrieb:
> Das Pinout der Raspberry Platine ist wie folgt.

Der STLink auf dem Discovery-Board hat ja auch nur vier Leitungen 
(sechspoliger "SWD"-Port, die Jumper auf dem ST-Link-Port müssen weg).

Wenn der Hersteller dir die Date geschickt hat, sollte es wohl möglich 
sein, über genau diese den Controller zu programmieren.

Aber ohne Gewähr.

Stefan ⛄ F. schrieb:
> Zu wenig Informationen. Meinst du nicht, dass der Plan wenigstens den
> Mikrocontroller enthalten sollte?

Die relevanten Signale sind doch beschriftet!?

von Markus M. (adrock)


Lesenswert?

Christoph B. schrieb:

> Das Pinout der Raspberry Platine ist wie folgt.
>
> Geht das überhaupt?

Ja, es sind alle relevanten Signale vorhanden:

- GND
- 3.3V (Vtarget)
- SWCLK
- SWDIO

Mehr benötigtst Du zum Programmieren nicht.

von Christoph H. (christoph_b)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe vom Hersteller diesen Plan bekommen. Da es für dieses Board ein 
Update gibt welches ein Problem löst wollte ich das neue HEX File 
flashen. Ich habe aber nur einen USB ISP-Programmer für Atmel AVR und 
eben ein STM32F4 Discovery Board zur Hand.

von Stefan F. (Gast)


Lesenswert?

Christoph B. schrieb:
> Ich habe aber nur einen USB ISP-Programmer für Atmel AVR

Der passt so gut wie ein Inbus Schlüssel auf Schlitzschrauben.

> und eben ein STM32F4 Discovery Board zur Hand.

Gut, verwende das.

von Markus M. (adrock)


Lesenswert?

Ja, das geht mit STM32F4 Discovery. Da ist ja ein ST-Link mit drauf. Wie 
schon oben erwähnt kann man den ST-Link vom Rest des Discovery Boards 
abkoppeln und dann die Benötigten Signale zu dem anderen Target 
verbinden.

In Deinem Fall brauchst Du nur vom Connector der Raspi-Schaltung GND, 
3.3V, SWCLK und SWDIO verbinden. Eigentlich wäre NRST noch sinnvoll, 
wenn aber das Programm auf dem STM32F030 mitspielt und nicht die SWD 
Pins umkonfiguriert (danach sieht es nicht aus), geht es auch ohne und 
nur mit den 4 Leitungen.

Wo Du die Signale vom ST-Link am STM32F4 Discovery abgreifen kannst 
steht in der Doku dazu.

von Stefan F. (Gast)


Lesenswert?

Markus M. schrieb:
> wenn aber das Programm auf dem STM32F030 mitspielt
>  und nicht die SWD Pins umkonfiguriert
> danach sieht es nicht aus

Ja, wenn man gar nichts sieht, dann sieht es nicht danach aus. Du kannst 
doch gar nicht wissen, was das Programm macht.

Wie dem auch sei, es ist einen Versuch wert.

von Markus M. (adrock)


Lesenswert?

Stefan ⛄ F. schrieb:
> Markus M. schrieb:
>> wenn aber das Programm auf dem STM32F030 mitspielt
>>  und nicht die SWD Pins umkonfiguriert
>> danach sieht es nicht aus
>
> Ja, wenn man gar nichts sieht, dann sieht es nicht danach aus. Du kannst
> doch gar nicht wissen, was das Programm macht.

Na laut dem Schaltplan ist an den SWDIO / SWCLK Pins nichts weiter 
angeschlossen, und die Debug-Schnittstelle bereits vorgesehen (ohne 
NRST), warum sollte also das Programm das dann wegkonfigurieren?

Was aber unbedingt zu beachten ist:

Da die Zusatzschaltung stromtechnisch vermutlich vom Raspi gespeist 
wird, ist es wichtig, zuerst GND zwischen dem ST-Link auf dem 
Discovery und der Zusatzschaltung herzustellen. Andernfalls kannst Du 
entweder den ST-Link oder den STM32F0 beschädigen. Am besten zuerst 
verbinden, STM32F4 Discovery mit PC Verbinden und als letztes den Raspi 
- und damit Dein "Target" - mit Strom verbinden.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Markus M. schrieb:
> warum sollte also das Programm das dann wegkonfigurieren?

Zum Beispiel um Strom zu sparen. In einigen Sleep Modi funktioniert die 
SWD Schnittstelle nicht. Oder eben weil da etwas anderes dran hängt, was 
wir nicht wissen.

> Na laut dem Schaltplan ist an den SWDIO / SWCLK Pins
> nichts weiter angeschlossen

Nach welchem Schaltplan? In den gezeigten Fetzen kann man das doch gar 
nicht erkennen. Das ist offensichtlich nicht der gesamte Plan.

von Christoph H. (christoph_b)


Lesenswert?

habe das STM32 ST-Link Utility geladen.
Leider findet der keinen Controller. Wenn ich die 2 Jumper auf dem STM32 
board verbinde dann zeigt er mir zumindest den STM32F4 an.

Verbunden habe ich es richtig. Hat das mit der nicht vorhandenen Reset 
Leitung zu tun?

von Stefan F. (Gast)


Lesenswert?

Christoph B. schrieb:
> Verbunden habe ich es richtig. Hat das mit der nicht vorhandenen Reset
> Leitung zu tun?

Wenn alle Verbindungen in Ordnung sind, dann sieht es wohl nach einer 
deaktivierten SWD Schnittstelle aus.

Mit Reset Leitung hätte der Programmieradapter die Möglichkeit der 
"Connect on Reset" Option, da wird dann die Verbindung aufbaut, bevor 
die Software auf dem Mikrocontroller startet.

Eventuell kannst du das manuell machen, indem du den hoffentlich 
vorhandenen Reset Button auf dem Board gedrückt hältst und dann in dem 
Moment loslässt, wo die Software die Verbindung aufbauen will.

Oder du stellst den Boot0 Jumper um, falls vorhanden.

von Markus M. (adrock)


Lesenswert?

Erkennt denn der ST-Link die Spannung auf dem Target, also 3.3V? wimre 
sollte er das auf jeden Fall tun.

von Markus M. (adrock)


Lesenswert?

Also die Verbindung muss wie folgt sein:

- Auf dem STM32F4 Disco beide CN3 Jumper entfernen
- STM32F4 Disco (CN2) -> STM32F0 Board:
Pin 1 (VDD_TARGET) -> 3.3V
Pin 2 (SWCLK)      -> SWCLK
Pin 3 (GND)        -> GND
Pin 4 (SWDIO)      -> SWDIO

STM32F4 Disco an Comp anschließen.
Spannungsversorgung des STM32F0 über den Raspi.

Das ST-Link Tool zeigt irgendwo auch VDD Target an, das sollte mit 3.3V 
erkannt werden.

: Bearbeitet durch User
Beitrag #6536328 wurde vom Autor gelöscht.
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.