嵌入式 Rust 简介
嵌入式 Rust 是把 Rust 用在 MCU、开发板、传感器和低资源设备上的实践。它的 目标不是替代所有 C 代码,而是在合适的场景里提供更强的类型检查和内存安全。
和桌面 Rust 有什么不同
在桌面程序里,你通常可以使用完整标准库 std。在很多 MCU 上,没有操作系统、文件系统、堆分配或线程支持,这时会使用 no_std。
嵌入式程序还会面对:
- 交叉编译
- 烧录和调试
- 中断
- 寄存器
- GPIO、UART、I2C、SPI 等外设
- 电压、电流和硬件连接问题
嵌入式 Rust 生态
常见组成包括:
- PAC:Peripheral Access Crate,寄存器级访问
- HAL:Hardware Abstraction Layer,硬件抽象层
- embedded-hal:跨芯片的外设 trait
- probe-rs:烧录和调试工具链之一
适合初学者的路线
你可以按这个顺序学习:
- 先掌握普通 Rust 的所有权、借用、错误处理
- 理解
no_std为什么存在 - 学会为目标芯片交叉编译
- 使用开发板现成 HAL 点亮 LED
- 再学习 UART、I2C、SPI 和中断
小结
嵌入式 Rust 的难点一半来自 Rust,一半来自硬件。你要同时保持软件思维和硬件安全意识,尤其注意电压、接线和芯片型号。