Habe hier 3 Stck. STM32F103C8T6 (BP, blue pill), die ich mit STM32CubeIDE mittels BMP Usb Stick (ein auf BMP umprogrammierter XTW ST-LINK V2) programmieren will. 2 von ihnen lassen sich problemlos programmieren über GDB Hardware debugging, über die 4 Pins (3.3V, GND, SWIO, SWCLK) angeschlossen. Bei einem der drei jedoch sagt STM32CubeIDE aber immer, s.Bild, es gebe ein Verbindungsproblem zum Target. Jetzt meine Frage: entweder die BP ist kaputt oder sie wurde mal so programmiert, daß das SWD-Interface nicht funktioniert. Wie könnte ich die BP zurücksetzen?
Es sind Fälschungen im Umlauf, bei denen die SWD Schnittstelle nicht funktioniert. Und ja, man kann die STM32 so programmieren, dass SWD deaktiviert wird. Sowohl der generierte Code von der Cube IDE als auch Arduino tun das per default. Da kommst du mit den Boot Jumpern heraus: Boot0 = HIGH Boot1 = LOW Dann Reset drücken. Danach wartet er auf einen Firmware Upload, wahlweise seriell oder per SWD.
OK. Wenn Du sagst: "Firmware upload", ist damit das allgemeine "Flashen" einer Anwendung gemeint? Oder meinst Du die "Firmware", die per default auf der BP programmiert ist und die das SWD-Interface wieder freischaltet? Wenn dem so wäre, woher bekäme ich denn diese initiale "Firmware"?
Christoph K. schrieb: > Wenn Du sagst: "Firmware upload", ist damit das allgemeine > "Flashen" einer Anwendung gemeint? Ja Mit dem Boot0 Jumper + Reset aktivierst du den Bootloader. Nach einem Reset ist die SWD Schnittstelle erstmal aktiv. Der Bootloader lässt die SWD Schnittstelle auch aktiv, das ist der eigentliche "Trick".
Steve van de Grens schrieb: > Christoph K. schrieb: >> Wenn Du sagst: "Firmware upload", ist damit das allgemeine >> "Flashen" einer Anwendung gemeint? > > Ja > > Mit dem Boot0 Jumper + Reset aktivierst du den Bootloader. Nach einem > Reset ist die SWD Schnittstelle erstmal aktiv. Der Bootloader lässt die > SWD Schnittstelle auch aktiv, das ist der eigentliche "Trick". Oh Wunder, das hat's jetzt gebracht. Einmal BOOT0=1 gesetzt, Reset, Programm (via SWD) geflasht. BOOT0=0 gesetzt. Programm noch mal via SWD geflasht und Board tut's wieder wie einstmals. Danke!
:
Bearbeitet durch User
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.