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
:
Bearbeitet durch User
Alexander M. schrieb: > Programmieren über die externe ST-LINK-V2 funktioniert nicht Dazu müssen beide Jumper auf dem Disco Board entfernt werden.
Alexander M. schrieb: > Wenn die Frage zu unklar ist, einfach melden... Alexander M. schrieb: > 2. Programmieren über die externe ST-LINK-V2 funktioniert nicht Hast du die beiden Jumper CN3 für diesen Zweck abgezogen?
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
:
Bearbeitet durch User
Hast du dein Board mit Strom versorgt? (nicht vom externe ST-Link aus, der könnte zu schwach sein).
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
Uwe Bonnes schrieb: > Gehe an Pin 2 und 4 des 4-poligen ST-Link Steckverbinder. Mit welchen Pins? Anbei noch ein Pinout vom ST-LINK. (https://www.waveshare.com/st-link-v2-stm8.htm) Verwendete Pins: 19, 20, 9, 7
Alexander M. schrieb: > ST-LINK___Discovery_Board.jpg GND ist falsch angeschlossen, gehört an Pin 4, 6, 8 etc. des ST-Link V2. Discovery Board muss vom USB versorgt werden. Pin 1,2 des ST-Link V2 ist die Sensor-Verbindung um die Versorgungs- Spannung zu überwachen.
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.
Alexander M. schrieb: > ST-LINK-Pinout.jpg "Mein" ST-Link hat eine völlig andere Pin-Belegung. Ich habe mal die relevanten Pins markiert.
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.
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
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
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!
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.
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.
Ich sehe nur 4 Kabel: VCC,GND,SWDIO,SWCLK lol, kein Reset angeschlossen.
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...
jo mei schrieb: > Oh man! (ouuuuu määääääään) berichtige mich: Wo ist der Fehler zwischen deinem und meinem Aufbau? :D VCC ist auf dem Bild auf 5V, bisher habe ich aber immer mit 3.3V versucht. Grüße
:
Bearbeitet durch User
Alexander M. schrieb: > Wo ist der Fehler zwischen deinem und meinem Aufbau? :D Du zeigst zwei verschiedene Aufbauten und siehst den Unterschied nicht? Ich habe keinen Aufbau von mir gezeigt, nur deine Schöpfung, und die habe ich kommentiert.
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
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.
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
:
Bearbeitet durch User
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.
Da kannst immer noch 'Connect under Reset' probieren. Also Reset manuell halten und dann SWD starten. Normalerweise ist es nicht nötig. Ich flashe hier Messgeräte mit STM32F429 mittels ST-Link vom VLDiscovery. Verbunden sind nur SWDIO und SWDCLK sowie GND.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.