Rust recebeu suporte oficial para nova plataforma: visão geral e detalhes
A equipe de desenvolvimento da linguagem Rust anunciou a adição de suporte oficial para uma nova plataforma de hardware. Desta vez, a arquitetura RISC-V 32-bit com suporte bare-metal (sem sistema operacional) entrou na lista de plataformas alvo tier 2. Este é um passo importante para a comunidade de desenvolvedores embedded e para todos que trabalham com microcontroladores e sistemas embarcados.
O que exatamente foi adicionado?
Na atualização recente do compilador rustc, foi adicionado um novo triplet alvo: riscv32imac-unknown-none-elf. Isso significa que agora você pode compilar programas em Rust para processadores RISC-V de 32 bits com o conjunto de instruções IMAC (multiplicação, operações atômicas, instruções compactadas) sem vinculação a qualquer sistema operacional.
Esta plataforma recebeu o status tier 2. Isso garante:
- Compilação automática da biblioteca padrão (
coreealloc) no repositório Rust; - Disponibilidade de compilações binárias oficiais do compilador para este alvo;
- Execução de um conjunto básico de testes a cada commit no repositório;
- Suporte para
cargo buildecargo testprontos para uso.
Por que isso é importante para a comunidade?
RISC-V é uma arquitetura de conjunto de instruções (ISA) aberta que está ganhando popularidade rapidamente no mundo de sistemas embarcados, IoT e até soluções de servidores. Até agora, o suporte do Rust para RISC-V de 32 bits era limitado a compilações experimentais ou exigia configuração manual. Agora, os desenvolvedores podem começar a usar Rust em microcontroladores reais (por exemplo, chips da Espressif, SiFive ou GigaDevice) sem precisar escrever scripts de compilação complexos.
Isso é especialmente relevante para projetos que exigem operação segura com memória e alta performance — pontos fortes do Rust. A comunidade embedded esperava por essa notícia há muito tempo, já que C e C++ foram por muito tempo a única escolha para programação bare-metal em RISC-V.
Como começar a usar a nova plataforma?
Se você já tem o compilador Rust estável mais recente instalado, pode tentar compilar um programa simples para esta plataforma:
rustup target add riscv32imac-unknown-none-elfcargo new --bin my_riscv_projectcd my_riscv_project# Em .cargo/config.toml, defina:# [build]# target = "riscv32imac-unknown-none-elf"cargo buildApós a compilação, você obterá um arquivo executável que pode ser gravado em um microcontrolador compatível. Claro, para trabalhar com periféricos reais, você precisará de crates como riscv e riscv-rt (código de inicialização), que já estão disponíveis no crates.io.
E agora?
A adição desta plataforma faz parte da estratégia de longo prazo do Rust para conquistar o nicho de programação de sistemas. Nos planos próximos da equipe de desenvolvimento está elevar o status desta plataforma para tier 1, o que garantirá suporte completo e compatibilidade retroativa. Também é esperado o surgimento de tutoriais e exemplos oficiais para RISC-V no site do Rust Embedded Working Group.
Para os leitores do nosso site pythonlib.ru, esta é uma ótima oportunidade para dar uma olhada no Rust