Rust recibió soporte oficial para una nueva plataforma: resumen y detalles
El equipo de desarrolladores del lenguaje Rust anunció la adición de soporte oficial para una nueva plataforma de hardware. Esta vez, la arquitectura RISC-V de 32 bits con soporte bare-metal (sin sistema operativo) ha sido incluida en la lista de plataformas objetivo de tier 2. Este es un paso importante para la comunidad de desarrolladores embebidos y para todos los que trabajan con microcontroladores y sistemas integrados.
¿Qué se agregó exactamente?
En la reciente actualización del compilador rustc, se agregó un nuevo triplete objetivo: riscv32imac-unknown-none-elf. Esto significa que ahora puede compilar programas en Rust para procesadores RISC-V de 32 bits con el conjunto de instrucciones IMAC (multiplicación, operaciones atómicas, instrucciones comprimidas) sin depender de ningún sistema operativo.
Esta plataforma ha recibido el estado de tier 2. Esto garantiza:
- Compilación automática de la biblioteca estándar (
coreyalloc) en el repositorio de Rust; - Disponibilidad de compilaciones binarias oficiales del compilador para este objetivo;
- Superación de un conjunto básico de pruebas en cada commit al repositorio;
- Soporte para
cargo buildycargo testlistos para usar.
¿Por qué es importante para la comunidad?
RISC-V es una arquitectura de conjunto de instrucciones (ISA) abierta que está ganando rápidamente popularidad en el mundo de los sistemas embebidos, IoT e incluso soluciones de servidores. Hasta ahora, el soporte de Rust para RISC-V de 32 bits estaba limitado a compilaciones experimentales o requería configuración manual. Ahora, los desarrolladores pueden comenzar a usar Rust en microcontroladores reales (por ejemplo, en chips de Espressif, SiFive o GigaDevice) sin necesidad de escribir scripts de compilación complejos.
Esto es especialmente relevante para proyectos que requieren gestión segura de la memoria y alto rendimiento, que son los puntos fuertes de Rust. La comunidad embebida esperaba esta noticia desde hace mucho tiempo, ya que C y C++ fueron durante mucho tiempo la única opción para la programación bare-metal en RISC-V.
¿Cómo empezar a usar la nueva plataforma?
Si ya tiene instalado el último compilador estable de Rust, puede intentar compilar un programa simple para esta plataforma:
rustup target add riscv32imac-unknown-none-elfcargo new --bin my_riscv_projectcd my_riscv_project# En .cargo/config.toml especifique:# [build]# target = "riscv32imac-unknown-none-elf"cargo buildDespués de la compilación, obtendrá un archivo ejecutable que puede grabar en un microcontrolador compatible. Por supuesto, para trabajar realmente con periféricos, necesitará crates como riscv y riscv-rt (código de inicio), que ya están disponibles en crates.io.
¿Qué sigue?
La adición de esta plataforma es parte de la estrategia a largo plazo de Rust para apoderarse del nicho de la programación de sistemas. En los planes inmediatos del equipo de desarrolladores está elevar el estado de esta plataforma a tier 1, lo que garantizará soporte completo y compatibilidad hacia atrás. También se espera la aparición de tutoriales y ejemplos oficiales para RISC-V en el sitio web del Rust Embedded Working Group.
Para los lectores de nuestro sitio pythonlib.ru, esta es una excelente razón para echarle un vistazo a Rust