Rust 拓展边界:支持嵌入式系统新平台

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Rust 正式支持新平台:这对开发者意味着什么?



Rust 生态系统持续积极扩展。近日,Rust 团队宣布为新的目标平台(target)添加官方支持。这对社区来说是一个重要事件,尤其是对于从事嵌入式系统和 bare-metal 环境开发的开发者。新平台为 Rust 在更广泛的设备(从微控制器到工业控制器)上的应用打开了大门。



此次涉及的是 ARMv8-M 平台,包括支持安全模式(TrustZone for Armv8-M)和不支持该模式的版本。这是一个 32 位微控制器系列,用于物联网设备、传感器、智能家居系统以及需要硬件隔离和可靠性的关键任务应用。此前,该支持处于实验阶段(tier 3),现在已提升至 tier 2 状态,这意味着基础工具的功能得到官方保证。



有哪些变化?

  • 平台状态:目标平台 thumbv8m.main-none-eabi 和 thumbv8m.main-none-eabihf 已提升至 tier 2 级别。
  • 可用性:编译器和标准库现已包含在 Rust 的官方版本(rustc, cargo)中。
  • 测试:已为这些目标平台在 Rust 的 CI 基础设施中配置了自动构建和测试运行。
  • 安全性:对 TrustZone 的支持允许在微控制器上创建可信执行环境(TEE)。


为什么这对嵌入式开发者很重要?

Rust 早已被证明是一种适合系统编程的语言,尤其适用于内存安全和性能至关重要的场景。然而,对特定硬件平台的支持一直不均衡。ARMv8-M 是一个现代系列,正在取代老旧的 ARMv7-M。来自 NXP、STMicroelectronics 等厂商的新芯片越来越多地基于此内核。

现在,开发者可以在这些微控制器上充分利用 Rust 的所有优势(零成本抽象、所有权、trait),而无需从源代码构建编译器或使用第三方补丁。这降低了入门门槛,并加速了固件开发。



这对生态系统有何影响?

  • Crates:用于外设(GPIO、SPI、I2C、UART)的库现在可以在官方目标平台下进行测试和构建,从而提高了它们的兼容性。
  • 项目:诸如 embedded-hal 和 cortex-m 等框架获得了支持新芯片的稳定基础。
  • 工具:调试器、烧录工具和 IDE 插件(例如 probe-rs、cargo-flash)将能够“开箱即用”地支持新平台。


下一步是什么?

Rust 团队计划在未来的版本中将更多架构提升至 tier 2,包括 RISC-V(RV32E 和 RV64E)以及 ARM Cortex-A 的更新版本。这是将 Rust 打造为所有嵌入式开发(包括遥测、汽车电子和航空电子)主要语言的长期战略的一部分。

对于教育资源平台 <

推荐库