Forum: Mikrocontroller und Digitale Elektronik STM32F103C8T6 USB bootloader flashen


von Christoph K. (chriskuku)


Angehängte Dateien:

Lesenswert?

Ich versuche gerade, nach dieser Anleitung 
https://www.electronicshub.org/how-to-upload-stm32f103c8t6-usb-bootloader/
den USB Bootloader "generic_boot20_pc13.bin" zu flashen. Habe einen BMP 
Stlink-V2 Stick angeschlossen, mit dem ich derzeit erfolgreich unter 
STM32CubeIDE meine App flashen kann. Eingestellt ist 
/dev/cu.usbmodem799EC0D31 unter STM32CubeIDE.

Nun versuche ich das gleiche unter STM32CubeProgrammer (beides unter 
macOS), trage dort das Device /dev/cu.usbmodem799EC0D31 ein und bekomme 
das Bild (s. Anhang).

Ratlos.

: Bearbeitet durch User
von Thomas W. (Gast)


Lesenswert?

Hast Du die von Dir verlinkte Anleitung gelesen und den kleinen Hinweis 
auf die Jumper gesehen:

"Before proceeding further, make sure that the STM32 Blue Pill Board is 
connected to the USB to Serial Programmer through USART connections and 
the BOOT0 pin is made HIGH."

Und weiter: Ist das eine Original-STMicro-Bluepill? Manche China-Clone 
benehmen sich anders.

Gruesse

Th.

von Christoph K. (chriskuku)


Lesenswert?

Thomas W. schrieb:
> Hast Du die von Dir verlinkte Anleitung gelesen und den kleinen Hinweis
> auf die Jumper gesehen:
>
> "Before proceeding further, make sure that the STM32 Blue Pill Board is
> connected to the USB to Serial Programmer through USART connections and
> the BOOT0 pin is made HIGH."
>
> Und weiter: Ist das eine Original-STMicro-Bluepill? Manche China-Clone
> benehmen sich anders.
>
> Gruesse
>
> Th.

BOOT0 = 1 gesetzt. Und Reset gedrückt. Ohne Erfolg. Wird sicher ein 
China Clone sein. Metallischer Resetknopf.

von Christoph K. (chriskuku)


Lesenswert?

Christoph K. schrieb:
...
>> Und weiter: Ist das eine Original-STMicro-Bluepill? Manche China-Clone
>> benehmen sich anders.
>>
> BOOT0 = 1 gesetzt. Und Reset gedrückt. Ohne Erfolg. Wird sicher ein
> China Clone sein. Metallischer Resetknopf.

Problem ist möglicherweise, daß ich die BMP mit SWCLK/SWDIO benutze und 
nicht einen echten UART und die entsprechenden UART Pins am Board?

von Max D. (max_d)


Lesenswert?

Wenn du den uart-bootloader verwenden willst, dann musst du auch die 
uart anschließen. die bmp bietet sowohl einen uart als auch eine swd 
schnittstelle.
Ich würde mal probieren die uart pins des stm zu verwenden...
edit: dann natürlich auch an der uart schnittstelle der bmp anklemmen

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

Max D. schrieb:
> Wenn du den uart-bootloader verwenden willst, dann musst du auch die
> uart anschließen. die bmp bietet sowohl einen uart als auch eine swd
> schnittstelle.
> Ich würde mal probieren die uart pins des stm zu verwenden...
> edit: dann natürlich auch an der uart schnittstelle der bmp anklemmen

Ich bestehe ja nicht darauf, es mit STM32CubeProgrammer zu machen.

Will ja nur den USB Bootloader irgendwie programmieren.

Gibt es andere Möglichkeiten?

von Max D. (max_d)


Lesenswert?

Wenn du ein elf file hast, dann kannst du das einfach per gdb flashen: 
https://black-magic.org/usage/gdb-automation.html#

von Steve van de Grens (roehrmond)


Lesenswert?

Christoph K. schrieb:
> Habe einen BMP
> Stlink-V2 Stick angeschlossen, mit dem ich derzeit erfolgreich unter
> STM32CubeIDE meine App flashen kann. Eingestellt ist
> /dev/cu.usbmodem799EC0D31 unter STM32CubeIDE.

> Nun versuche ich das gleiche unter STM32CubeProgrammer (beides unter
macOS), trage dort das Device /dev/cu.usbmodem799EC0D31 ein und bekomme
das Bild (s. Anhang).

Versucht du wirklich das gleiche? Die Cube IDE unterstützt meines 
Wissens nach ausschließlich SWD und JTAG.

Im Cube Programmer hast du hingegen eine serielle UART Schnittstelle 
eingestellt.

von Christoph K. (chriskuku)


Lesenswert?

Steve van de Grens schrieb:
> Christoph K. schrieb:
>> Habe einen BMP
>> Stlink-V2 Stick angeschlossen, mit dem ich derzeit erfolgreich unter
>> STM32CubeIDE meine App flashen kann. Eingestellt ist
>> /dev/cu.usbmodem799EC0D31 unter STM32CubeIDE.
>
>> Nun versuche ich das gleiche unter STM32CubeProgrammer (beides unter
> macOS), trage dort das Device /dev/cu.usbmodem799EC0D31 ein und bekomme
> das Bild (s. Anhang).
>
> Versucht du wirklich das gleiche? Die Cube IDE unterstützt meines
> Wissens nach ausschließlich SWD und JTAG.
>
> Im Cube Programmer hast du hingegen eine serielle UART Schnittstelle
> eingestellt.

Danke, ja. Hab's gemerkt. Vielleicht finde ich von dem bootloader ja ein 
Projekt und kann mir einen .elf File, wie es Max D. vorschlug, 
generieren.

Hat jetzt auch anders geklappt. Habe einen USB-UART angeschlossen und 
über PA9/PA10 mit STM32CubeProgrammer programmieren können. Thema 
erledigt.

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

Steve van de Grens schrieb:
...
> Versucht du wirklich das gleiche? Die Cube IDE unterstützt meines
> Wissens nach **ausschließlich SWD und JTAG**.

Ist das tatsächlich so? Dann war das jetzt für die Katz. :-(
Aber gut, werde dann fortfahren mit dem BMP Programmer.

Hintergrund war, daß ich mit FreeRTOS auf einem STM32F103 ein Projekt 
starten wollte (nach diesem Tutorial: 
https://www.hackster.io/Sparky/freertos-on-stm32f103c8t6-1a2413). Da das 
aber auf Keil uVision aufsetzte, dachte ich, ich nehme STM32CubeIDE. Das 
war der Hintergrund, weswegen ich diesen USB Bootloader installieren 
wollte.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Christoph K. schrieb:
> Vielleicht finde ich von dem bootloader ja ein
> Projekt und kann mir einen .elf File, wie es Max D. vorschlug,
> generieren.

Du kannst mit dem Cube Programmer durchaus auch *.bin Dateien via SWD 
flashen.

Den Maple/Arduino Bootloader mit der Cube IDE zu benutzen ... ich denke 
das geht wirklich nicht. Wenn die IDE einen Bootloader unterstützen 
würde, dann sicher nur den eigenen von ST. Die STM32F303 sind ähnlich 
und enthalten einen USB Bootloader ab Werk.

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

Steve van de Grens schrieb:
> Christoph K. schrieb:
>> Vielleicht finde ich von dem bootloader ja ein
>> Projekt und kann mir einen .elf File, wie es Max D. vorschlug,
>> generieren.
>
> Du kannst mit dem Cube Programmer durchaus auch *.bin Dateien via SWD
> flashen.

Gut. Danke. Das Problem hat sich jetzt verlagert. Ich kann mein Projekt 
unter STM32CubeIDE nicht starten, obwohl ich die GDB Debug Konfiguration 
übernommen habe. Das Programm startet nicht. Mache dazu aber einen neuen 
Thread auf.

von Steve van de Grens (roehrmond)


Lesenswert?

Christoph K. schrieb:
> Vielleicht finde ich von dem bootloader ja ein Projekt
https://github.com/rogerclarkmelbourne/STM32duino-bootloader

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.