- 语言
- 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