ST LINK, Probleme beim Flashen

OP #6549285
Lesenswert?

Hallo Zusammen,

Vielleicht kann mir jemand bei folgendem Problem helfen... Doch ein 
bisschen aufwendiger zum erklären geworden...

Kurz zu meinem tatsächlichem Ziel:
Flashen einer neuen Firmware auf einen STM32F030K6-LQFP32

Mein Zwischenziel:
Flashen einer neuen Firmware auf folgendes Discovery Board durch einen 
externen ST-LINK-V2 Programmer
https://www.st.com/resource/en/user_manual/dm00039084-discovery-kit-with-stm32f407vg-mcu-stmicroelectronics.pdf

Varianten des externen ST-LINK-V2 Programmer
1. https://www.st.com/en/development-tools/st-link-v2.html
2. 
https://www.amazon.de/DollaTek-Cortex-M0-Schwimmen-Schnittstelle-Programmierer/dp/B07DK26Q5S
3. ST-LINK des Discovery Board: 
https://www.st.com/en/evaluation-tools/stm32f4discovery.html

Programmer Software: STM32-ST-LINK Utitliy
https://www.st.com/en/development-tools/stsw-link004.html


Nun zum Ablauf:
1. Programmieren des STM32 vom Discovery Board über den bereits 
verbauten ST-LINK funktioniert, sei es über die Jumper Wire oder über 
die SWD Stiftleiste (Seite 16, 
https://www.st.com/resource/en/user_manual/dm00039084-discovery-kit-with-stm32f407vg-mcu-stmicroelectronics.pdf)
Zur Programmierung habe ich folgende 4 Pins verwendet: 1. GND, 2. VCC, 
3. CLK (PA14), 4. SDIO (PA13)

2. Programmieren über die externe ST-LINK-V2 funktioniert nicht, da 
bekomme ich ständig den Fehler "USB Communication Error".
Zur Programmierung habe ich folgende 4 Pins verwendet: 1. GND, 2. VCC, 
3. CLK (PA14), 4. SDIO (PA13)

Vergebliche Fehlerfindung:
- Über verschiedene PCs den ST-LINK angesteckt --> selber Fehler
- verschiedene ST-LINKs (siehe oben) verwendet --> selber Fehler

Erkenntnis:
Scheint so, als ob zwischen dem internen ST-LINK und dem externen 
ST-LINK Unterschiede in der Ansteuerung wären.
Frage 1: Welche Unterschiede gibt es da? Benötige ich noch für eine ISP 
Programmierung einen extra Reset-Wire (Warum geht aber dann das 
Programmieren des Discovery Board über den verbauten ST-LINK über die 
Stiftleiste ohne Reset-Wire)? Welcher Pin wird dafür verwendet?

Wenn die Frage zu unklar ist, einfach melden...

Vielen Dank.

Grüße
OP #6549300
Lesenswert?

Matthias S. schrieb:
> Alexander M. schrieb:
>> Programmieren über die externe ST-LINK-V2 funktioniert nicht
>
> Dazu müssen beide Jumper auf dem Disco Board entfernt werden.

Danke.

1. Hab über den bereits verbauten ST-LINK den STM32 über die SWD 
Schnittstelle programmieren können
2. Über einen "externen" ST-LINK gibt's aber den Fehler. Jumper wurden 
hier bereits entfernt...

Grüße
OP #6549317
Lesenswert?

Stefan ⛄ F. schrieb:
> Hast du dein Board mit Strom versorgt? (nicht vom externe ST-Link aus,
> der könnte zu schwach sein).

Mal mit externer Spannungsversorgung, mal ohne... Ging beides nicht.

Anbei ein JPG von dem aktuellen Aufbau: Verkabelung ohne externe 
Spannungsversorgung. Die 2. Variante war mit externen 
Spannungsversorgung über den USB Port.

Um den Fehler vielleicht auszuschließen: ein 5. Kabel für den Reset wird 
hier nicht benötigt oder?

Grüße
Angehängte Dateien:
Gast #6549343
Lesenswert?

Alexander M. schrieb:
> Anbei ein JPG von dem aktuellen Aufbau

> Um den Fehler vielleicht auszuschließen: ein 5. Kabel
> für den Reset wird hier nicht benötigt oder?

Genau das wollte ich gerade empfehlen, denn die SWD Schnittstelle kann 
von der Software deaktiviert werden (was bei Cube HAL Projekten die 
Standardvorgabe ist!). Außerdem ist die Schnittstelle in einigen Sleep 
Modi tot.

Mit einer Reset-leitung kannst du die Option "Connect On Reset" 
verwenden. Alternativ kannst du Boot0=HIGH setzen, um den Bootloader zu 
aktivieren. Dieser deaktiviert die SWD Schnittstelle nicht.
OP #6549367
Lesenswert?

jo mei schrieb:
> Alexander M. schrieb:
>> Anbei noch ein Pinout vom ST-LINK.
>> (https://www.waveshare.com/st-link-v2-stm8.htm)
>
> Das ist was Modifiziertes von WaveShare, nicht original!
> Schon an den Pin 4, 6, 8, 10 erkennbar die nicht mit Masse
> belegt sind.

Okay Danke. Trotzdem bekomme ich's nicht hin...
Anbei die Verkabelung... Bei mir gibt's da einen Kurzschluss und das 
Beispielprogramm vom Discovery schaltet sich ab (LEDs gehen aus)

Vielleicht will mir da einer noch auf die Sprünge helfen...
Danke.

Grüße
Angehängte Dateien:
OP #6549369
Lesenswert?

Stefan ⛄ F. schrieb:
> Alexander M. schrieb:
>> Anbei ein JPG von dem aktuellen Aufbau
>
>> Um den Fehler vielleicht auszuschließen: ein 5. Kabel
>> für den Reset wird hier nicht benötigt oder?
>
> Genau das wollte ich gerade empfehlen, denn die SWD Schnittstelle kann
> von der Software deaktiviert werden (was bei Cube HAL Projekten die
> Standardvorgabe ist!). Außerdem ist die Schnittstelle in einigen Sleep
> Modi tot.
>
> Mit einer Reset-leitung kannst du die Option "Connect On Reset"
> verwenden. Alternativ kannst du Boot0=HIGH setzen, um den Bootloader zu
> aktivieren. Dieser deaktiviert die SWD Schnittstelle nicht.

Mir fällt aber gerade auf, dass ich ja überhaupt nichts aktivieren / 
deaktivieren kann, weil ich ja den "USB Communication Error" bekomme, 
siehe Anhang... Also muss das noch von woanders kommen...

Grüße
Angehängte Dateien:
Gast #6549373
Lesenswert?

Alexander M. schrieb:
> Bei mir gibt's da einen Kurzschluss

Dann hast du vielleicht einen Clone und keinen Original ST-Link,
wo dann deine Belegung stimmt. Das kann ich von hier aus natürlich
nicht riechen was du dir da an Land gezogen hast.

Alexander M. schrieb:
> Varianten des externen ST-LINK-V2 Programmer
> 1. https://www.st.com/en/development-tools/st-link-v2.html

... sagt mir: ein ST-Link von STM und nicht von woanders her!
OP #6549378
Lesenswert?

jo mei schrieb:
> Alexander M. schrieb:
>> Bei mir gibt's da einen Kurzschluss
>
> Dann hast du vielleicht einen Clone und keinen Original ST-Link,
> wo dann deine Belegung stimmt. Das kann ich von hier aus natürlich
> nicht riechen was du dir da an Land gezogen hast.
>
> Alexander M. schrieb:
>> Varianten des externen ST-LINK-V2 Programmer
>> 1. https://www.st.com/en/development-tools/st-link-v2.html
>
> ... sagt mir: ein ST-Link von STM und nicht von woanders her!

Jap, ist ein ST-Link von STM.
Gast #6549388
Lesenswert?

Zur Info: Bei den älteren Disco-Boards mit STLink-V2 ist nur vorgesehen, 
ein externes Target ans interne STLink anzuschließen (steht so im UM 
drin!), nicht umgekehrt! Bei den neueren mit STLink-V3 ist das genau 
umgekehrt.

Deshalb: Der interne STLink muss hier tot gelegt werden: SB10.
OP #6549411
Lesenswert?

A. B. schrieb:
> Zur Info: Bei den älteren Disco-Boards mit STLink-V2 ist nur vorgesehen,
> ein externes Target ans interne STLink anzuschließen (steht so im UM
> drin!), nicht umgekehrt! Bei den neueren mit STLink-V3 ist das genau
> umgekehrt.
>
> Deshalb: Der interne STLink muss hier tot gelegt werden: SB10.

Danke. Hab ich zusammen gelötet. Nun wird das Board nur noch mit 
Spannung versorgt, es erfolgt aber keine Kommunikation mehr ("USB Gerät 
wurde nicht erkannt")

Trotzdem geht's immer noch nicht...

Mein aktueller Aufbau ist im Anhang...

Wer noch Ideen hat, bitte melden. Ich mach für heute Schluss...
Angehängte Dateien:
OP #6552868
Lesenswert?

Hallo,

Ich konnte mittlerweile den Fehler mit der "USB Communication error" 
Nachricht beheben:
Der ST-LINK hat eine veraltete Firmware, über den ST-LINK Utility musste 
ein Update aufgespielt werden. (Reiter ST-LINK --> Firmware updates)
Somit konnte ich nun auch eine Kommunikation mit dem Discovery Board 
aufbauen.

Nun geht's zum eigentlichen Mikrocontroller. Da bekomme ich jetzt den 
Fehler "Can't reset the core".

Kann damit jemand was anfangen bzw. weiß wie dieser Fehler zu beheben 
ist?

Grüße
OP #6552995
Lesenswert?

jo mei schrieb:
> Alexander M. schrieb:
>> Kann damit jemand was anfangen bzw. weiß wie dieser Fehler zu beheben
>> ist?
>
> Löse erst mal deine verwirrenden bzw widersprüchlichen Posts
> von vorher auf.
>
> Das wäre ein Gebot der Anständigkeit bzw Netiqette.
>
> Ansonsten betrachte dich selbst als halbstarker Troll.

Hab ich das nicht im letzten Post :D?

Fehler war: Ich habe die Firmware des ST-LINK nicht auf den neuesten 
Stand gebracht --> deshalb sind auch aus der Verzweiflung heraus 
durchaus "verwirrende" Kommentare entstanden. Diese brauchen deshalb 
nicht mehr berücksichtigt werden.

BTW:
- Netiquette
- Troll Wortbedeutung: https://de.wikipedia.org/wiki/Troll_(Netzkultur)

Grüße
Gast #6553011
Lesenswert?

Alexander M. schrieb:
> Nun geht's zum eigentlichen Mikrocontroller. Da bekomme ich jetzt den
> Fehler "Can't reset the core".
>
> Kann damit jemand was anfangen bzw. weiß wie dieser Fehler zu beheben
> ist?

Hast du die Reset Leitung vom Target mit dem ST-Link verbunden?

Weil: Wie gesagt kann das Programm auf dem Target die SWD Schnittstelle 
deaktivieren und dann ist auch kein Soft-Reset Kommando mehr möglich.
OP #6553939
Lesenswert?

Vielen Dank euch, jetzt hat's auch bei mir funktioniert :-)

Meine Fehler nochmals aufgelistet:

1. Upgrade des ST-LINK auf neueste Firmware (Fehlermeldung: USB 
Communication error
2. uC richtig anschließen (Fehlermeldung: no target connected)
3. Resetpin anschließen (Fehlermeldung: Can't reset the core)

Grüße

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren