STM32duino-bootloader
Para carregar um programa no blue pill (STM32F103C8T6) pela porta USB é necessário ter trocar o Bootloader que está instalado de origem no MCU. Devido às contribuições de LeafLabs (Maple Bootloader) e roger clark melbourne, existe um repositório de bootloaders disponível para uma série de placas. O código-fonte disponível no GitHub no seguinte link:
https://github.com/rogerclarkmelbourne/STM32duino-bootloader
O ficheiro a fazer o upload está identificado pelo pin do led, regra geral o blue pill é o que termina em pc_13.bin
Existem várias formas de enviar o bootloader para o MCU, neste caso será usado um interface ST-link V2 e o programador STM32CubeProgrammer.
Se não tiver o STM32CubeProgrammer é necessário fazer o download e instalar.
Executar o STM32CubeProgrammer no canto superior direito escolher stlink.
Ainda no canto superior direito escolher Clicar em connect.
Numa primeira vez pode não ser reconhecido, eventualmente porque o driver do st-link nao está instalado. Remova o st-link do usb e volte a ligar. Verifique o device manager se o st-link foi reconhecido e tem os drivers.
Do lado direito clicar no icone que parece download
Nesse ecrã escolher o ficheiro a enviar (indicado acima)
No endereço de inicio certificar-se que está 0x08000000
Escolher skip flash erase before programming
Clicar no botão “start programming”
O processo de envio inicia, e quando acaba é exibido um popup a dizer:
File download complete.
Clique em OK
No canto superior esquerdo clique em disconnect.
Já pode desligar o st-link da porta usb
https://www.electronicshub.org/how-to-upload-stm32f103c8t6-usb-bootloader/