跳到正文
现代语言与框架

Rust on ESP32

面向 ESP32 系列的现代 Rust 语言开发生态,兼具内存安全(Memory Safety)、稳健并发和高性能。

语言
Rust
ESP-RS Rust Ecosystem for ESP32
类别
现代语言与框架
主要目标
安全高性能固件开发,既支持裸机模式(通过 esp-hal 使用 no_std),也支持完整协议栈(通过 esp-idf-svc 使用 std)

亮点功能

  • 裸机 `no_std` 模式配合 `esp-hal` 库:无 RTOS 的完全控制和超快启动
  • `std` 模式配合 `esp-idf-svc`:访问 Rust 标准库、Wi-Fi、BLE、HTTP、MQTT 和线程
  • 在编译期保证防止内存损坏和 Data Race
  • 支持 Xtensa(ESP32、S2、S3)和原生 RISC-V(C2、C3、C6、H2、P4)目标
  • 与 `embedded-hal` crate 生态集成,并使用 `embassy` 的 async/await
  • 官方工具:用于烧录和串口监视的 `espflash`,以及用于模板的 `esp-generate`

适用场景

  • 不允许内存故障(Null Pointer、Buffer Overflow)的关键系统
  • 具有简洁异步并发的现代 IoT 应用
  • 需要高安全级别的工业设备
  • 现代机器人和仪器仪表项目

代码示例

Rust 的起始代码片段,请根据你的开发板调整引脚和配置。

Rust on ESP32Rust
1