Raspberry Pi Pico obtiene soporte para Rust, RT-Thread OS y FreeRTOS

A finales de enero, vimos el lanzamiento de Raspberry Pi Pico equipado con un microcontrolador RP2040 de doble núcleo Cortex-M0 + que trabaja hasta 133 MHz con soporte oficial para MicroPython y C .

En esta función, discutiremos el soporte de software flexible de Raspberry Pi Pico compatible con RP2040 MCU, además del soporte de software MicroPython, C / C ++ y el próximo Arduino IDE. Nos centraremos específicamente en la compatibilidad con Rust, RT-Thread OS y FreeRTOS para Raspberry Pi Pico.

Rust Code ejecutándose en Raspberry Pi Pico

El lenguaje Rust se considera rápido, confiable y seguro cuando se trata de puertas de enlace de IoT. También abre la opción de escribir código de nivel extremadamente bajo, como kernels del sistema operativo o aplicaciones de microcontroladores. La portabilidad de Rust con RP2040 para trabajar con Raspberry Pi Pico se vio en el Twitter de Jonathan Pallant.

El RP2040 viene con un flash QSPI externo. La máscara-ROM interna lee los programas del flash externo y los usa en la parte superior de SRAM (0x2004_lf00) usando un cargador de arranque. Por lo tanto, los programas son un bloque de 256 bytes para la reconfiguración de la interfaz XIP_SSI con los valores apropiados de la memoria flash QSPI. Esto configura el sistema para que el flash QSPI comience desde la dirección 0x1000_000 desde arriba. Para obtener más información, visite el repositorio de GitHub .

https://twitter.com/therealjpster/status/1353026324198285312

Jonathan también explica cómo debería construirse el código:

Ejecutando «cargo build –release», luego usando la herramienta elf2uf2 del pico-sdk crea un archivo UF2. Esto luego se puede copiar al dispositivo de almacenamiento masivo emulado creado por el cargador de arranque ROM. Debería estar listo para flashear con una sonda compatible con SWDv2 (como un segundo Pico con firmware picoprobe). Trabajar con la sonda Arm normal requiere soporte SWDv2 y algo que entienda cómo se conectan los núcleos duales M0 +.

También puede ser necesario crear un PAC con svd2rust o cambiar el Cargo.toml para señalar una copia de GitHub; hay varias.

Sistema operativo RT-Thread en Raspberry Pi Pico

RT-Thread OS es un sistema operativo en tiempo real (RTOS) de código abierto dedicado a aplicaciones integradas y dispositivos IoT, y compatible con varias arquitecturas» que van de x86 y Arm a RISC-V y Xtensa, es compatible con el RP2040 y, por extensión, con las placas de desarrollo basadas en RP2040, incluida la Raspberry Pi Pico «.

RT-Thread Studio IDE es compatible con la MCU RP2040 de Raspberry Pi Pico para los proyectos de destino y se puede descargar desde sitio web de la empresa . Los pasos de desarrollo implican la descarga de PICO BSP desde el SDK Manager del IDE. Luego, los usuarios pueden crear un nuevo proyecto RT-Thread y seleccionar la placa PICO para trabajar con Raspberry Pi Pico.

Para obtener información detallada sobre cómo empezar a utilizar RT-Thread OS, puede ver el tutorial de vídeo anterior o leer RT-Thread artículo sobre Medium con capturas de pantalla para comenzar. También puede obtener asistencia en el foro.

Ejemplo de FreeRTOS para Raspberry Pi Pico

FreeRTOS es un popular sistema operativo de código abierto en tiempo real (RTOS) para microcontroladores y pequeños microprocesadores distribuidos bajo la licencia de código abierto del MIT.

No hay muchos recursos disponibles en línea sobre el soporte de FreeRTOS para Raspberry Pi Pico. Sin embargo, hilo de Reddit llama nuestra atención sobre un ejemplo de FreeRTOS para Raspberry Pi Pico alojado en GitHub . El sistema operativo se puede utilizar de forma convencional para frambuesa proyectos pico con CMake.

La discusión incluye algunas partes interesantes, incluido «el uso del puerto CM0 para el kernel FreeRTOS estándar sin modificaciones que resuelve el problema de manejar partes portátiles», y una persona también está interesada al migrar Zephyr OS a Raspberry Pi Pico.

Traducido del artículo en inglés «Raspberry Pi Pico Gets supports for Rust, RT-Thread OS and FreeRTOS«

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Salir de la versión móvil