Este é um carregador de inicialização STM32F1XX/STM32F4XX personalizado que permite binários de firmware piscantes via USB, usando protocolos DFU ou HID-Flash. A intenção -ambiciosa por trás do projeto é implicar os meandros de muitos outros MCUs STM32 em um único projeto que pode ser facilmente baixado, configurado, compilado e exibido.
O novo firmware com interação mínima com a placa física é realmente conveniente em alguns casos. No meu caso, estava piscando minha placa BTT GTR 1.0 da impressora 3D através do meu polvo na pressão de um botão (dois, na verdade, o botão Redefinir + LCD do codificador), que agora posso acionar por meio do GPIO da RPI e Flash à vontade, sem nenhuma interação manual.
Este carregador de inicialização é um trabalho em andamento, o que significa que não foi amplamente testado, e ainda há muito a considerar na compatibilidade de hardware. Por favor, considere isso como algo experimental, até que você garantisse que todos os aspectos funcionassem em sua placa específica.
O projeto foi inspirado no SERASIDIS/STM32_HID_BOOTLOADER (que se origina da BootSector/STM32-HID-BootLoader) e mantém compatibilidade com a ferramenta HID-Flash.
O projeto está adaptado ao Platformio (o projeto deve criar e fazer upload como está, desde que você tenha um dispositivo ST-Link/V2 conectado). Ele usa as bibliotecas de estrutura STM32CUBE originais em vez de conter partes ligeiramente modificadas dela. O protocolo DFU é implementado e testado nas duas plataformas STM32F1XX/4XX. No momento, a compatibilidade com a versão mais antiga do hid-flash.exe é mantida apenas na compilação STM32F4XX. As fontes da ferramenta Hid-Flash não estão incluídas no projeto.
Antes de tentar isso, tenha certeza absoluta de ter uma cópia do carregador de inicialização original da sua placa, que você voltou com sucesso ao quadro sem problemas .
A personalização do comportamento do carregador de inicialização é feita modificando o arquivo configuration.h. Consulte os comentários do arquivo para obter detalhes.
Use um dispositivo compatível com ST-Link, conectado corretamente à sua placa e ao PC. Use o comando de upload da Platformio para instalar. A redefinição da placa com o Bot0 PIN definido para 3.3V também deve funcionar, mas isso depende da sua placa e do MCU (verifique o wiki para obter mais informações sobre o assunto).
Ative o gatilho configurado e redefina a placa (no caso do gatilho do pino, mantenha o pino ativado durante a redefinição e até que o dispositivo USB apareça no host. Depneding sobre qual protocolo você ativou ( dfu ou HID), use o Firmware DFU-Util.exe ou o hid-flash.exe CMD Ferramenta para transportar um firmware hid como seu upload-protocol preferido na seção Env do arquivo plataformio.ini do seu firmware, como no exemplo a seguir:
#
# Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
#
[env:BIGTREE_GTR_V1_0]
extends = stm32_variant
board = marlin_BigTree_GTR_v1
board_build.offset = 0x8000
build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
upload_protocol = dfu
Visite o wiki para obter mais informações sobre piscar e usar.
Mais gatilhos, mais métodos piscantes, mais STM32 MCUS / PRODIÇÕES PARA APOIAR.
Até agora, o projeto foi testado nos seguintes conselhos:
STM32F4XX:
STM32F1XX: