Bom dia a todos,
eu estou a começar a aprender a programar em Rust para sistemas embebidos (o Rust para PC já tenho alguma experiência), para fazer pequenos projetos de eletrônica com a minha filha. Já o fiz no passado quando ela era mais pequena, mas agora queria voltar a isso.
Neste momento, com a crise dos chips as dev boards estão todas mais caras, mas eu tinha em casa dentro de um tapaware perdido, 10 STM32 BluePill’s (comprados ainda a 1.5 euros ou a 2 euros) e por isso tenho dev boards para 10 projetos, nice! A ideia é fazer projetos simples, mas engraçados. É o que eu chamo de caixinhas de eletrônica, a minha filha diverte-se e vai aprendendo algumas coisas e eu também.
Eu neste momento já tenho um bluepill a funcionar em Linux Ubuntu 20.4, com as tools instaladas e bem configuradas e fiz um project template atualizado para as ultimas versões dos crates / packages. Isto devido ao facto de que em Rust é necessário fazer mais uns passos para configurar as ferramentas e eu fiz esta minha versão da configuração mais atualizada e customizada com base no que que considerei ser melhor da mistura de três outras configurações de BluePill para Rust que encontrem em githubs (que estão na referencias do projeto) e que já são mais antigas, Já têm uns anos, mas como disse atualizada para as ultimas versões dos crates e a meu gosto. Documentei tudo e coloquei toda a documentação relevante no README.md do repositório e vai ser o template que eu vou usar para todos os projetos. Ensina também todos os passos de instalação.
Tenho tudo a funcionar:-Cross compilation para ARM.
-OpenOCD - Para ligar ao programador ST-Link_V2.
-Tenho o GDB Multi-Arch. E que também faz o flash do programa no microcontrolador
-Tenho VSCode com debugger gráfco a funcionar.
-E por fim tenho mensagens de debug, a serem escritas na janela do OpenOCD, à lá printf() com o SWD semihosting e sem necessidade de porto série, só com o programador.
STM32 BluePill in Rust - Project templatehttps://github.com/joaocarvalhoopen/stm32_bluepill_in_rust__TemplateCumprimentos,
João