Programar Raspberry Pi Pico con Rust

Requisitos iniciales

Si todavía no has instalado Rust puedes hacerlo siguiendo los pasos de aquí

Instalar el compilador 

Raspberry Pi Pico (o cualquier otra placa con chip RP2040) necesita instalar un compilador específico para esa arquitectura

Abre la línea de comandos y ejecuta lo siguiente:

rustup target install thumbv6m-none-eabi
cargo install flip-link
cargo install elf2uf2-rs --locked

Descargar la plantilla básica

La siguiente plantilla tiene la configuración necesaria con un ejemplo sencillo de blink 

git clone https://github.com/enteropositivo/rust-raspberry-pi-pico-template

Probando el código en la placa

Conecta la Raspberry Pi Pico al USB mientras pulsas el botón de reset de la misma y carga el programa de ejemplo de la plantilla

cd rust-raspberry-pi-pico-template
cargo run --release

Conocer el tamaño real en Flash

Si queremos saber cuánta memoria flash o memoria RAM se va a necesitar para nuestro programa, tenemos que ejecutar el comando "cargo size" y previamente tenemos que las siguientes herramientas:

cargo install cargo-binutils
rustup component add llvm-tools-preview

Y ya podremos consultar el tamaño real con el siguiente comando:

cargo size -- -A

Nos mostrará una tabla de varias secciones con sus tamaños en bytes:

  • El tamaño en FLASH se calcula con : .vector-table + .text + .rodata
  • El tamaño en RAM:  .data + .bss