Rust получил официальную поддержку новой платформы: обзор и детали
Команда разработчиков языка Rust объявила о добавлении официальной поддержки для новой аппаратной платформы. На этот раз в список целевых платформ tier 2 вошла архитектура RISC-V 32-bit с поддержкой bare-metal (без операционной системы). Это важный шаг для сообщества embedded-разработчиков и всех, кто работает с микроконтроллерами и встраиваемыми системами.
Что именно было добавлено?
В недавнем обновлении компилятора rustc был добавлен новый целевой триплет: riscv32imac-unknown-none-elf. Это означает, что теперь вы можете компилировать программы на Rust для 32-битных процессоров RISC-V с набором инструкций IMAC (умножение, атомарные операции, сжатые инструкции) без привязки к какой-либо операционной системе.
Данная платформа получила статус tier 2. Это гарантирует:
- Автоматическую сборку стандартной библиотеки (
coreиalloc) в репозитории Rust; - Наличие официальных бинарных сборок компилятора для этой цели;
- Прохождение базового набора тестов при каждом коммите в репозиторий;
- Поддержку
cargo buildиcargo testиз коробки.
Почему это важно для сообщества?
RISC-V — это открытая архитектура набора команд (ISA), которая стремительно набирает популярность в мире встраиваемых систем, IoT и даже серверных решений. До сих пор поддержка Rust для 32-битных RISC-V была ограничена экспериментальными сборками или требовала ручной настройки. Теперь же разработчики могут начать использовать Rust на реальных микроконтроллерах (например, на чипах от Espressif, SiFive или GigaDevice) без необходимости писать сложные скрипты сборки.
Особенно это актуально для проектов, где требуется безопасная работа с памятью и высокая производительность — сильные стороны Rust. Embedded-сообщество давно ждало этой новости, так как C и C++ долгое время были единственным выбором для bare-metal программирования на RISC-V.
Как начать использовать новую платформу?
Если у вас уже установлен последний стабильный компилятор Rust, вы можете попробовать скомпилировать простейшую программу для этой платформы:
rustup target add riscv32imac-unknown-none-elf
cargo new --bin my_riscv_project
cd my_riscv_project
# В .cargo/config.toml укажите:
# [build]
# target = "riscv32imac-unknown-none-elf"
cargo build
После сборки вы получите исполняемый файл, который можно прошить в совместимый микроконтроллер. Конечно, для реальной работы с периферией вам понадобятся крейты (crates) вроде riscv и riscv-rt (стартовый код), которые уже доступны на crates.io.
Что дальше?
Добавление этой платформы — часть долгосрочной стратегии Rust по захвату ниши системного программирования. В ближайших планах команды разработчиков — повысить статус этой платформы до tier 1, что обеспечит полную поддержку и гарантию обратной совместимости. Также ожидается появление официальных туториалов и примеров для RISC-V на сайте Rust Embedded Working Group.
Для читателей нашего сайта pythonlib.ru это отличный повод присмотреться к Rust