LusoRobótica - Robótica em Português

Software => Software e Programação => Tópico iniciado por: blabla em 25 de Janeiro de 2022, 09:45

Título: STM32 BluePill in Rust - Project template
Enviado por: blabla em 25 de Janeiro de 2022, 09:45
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 template
https://github.com/joaocarvalhoopen/stm32_bluepill_in_rust__Template (https://github.com/joaocarvalhoopen/stm32_bluepill_in_rust__Template)

Cumprimentos,
João