开发方式总览

在乐鑫芯片上使用 Rust 开发,有以下两种方式:

  • 使用 std 库,即标准库。
  • 使用 core 库(no_std),即裸机开发。

两种方式各有各的优缺点,因此需要根据项目需求选取。本章包含对两种开发方式的概述。

另请参阅 The Embedded Rust Book 中对不同运行时的比较。

GitHub 上的 esp-rs 组织 有多个仓库,与在乐鑫芯片上运行 Rust 相关。大多数所需的 crate 的源代码都托管在这里。

仓库命名约定

esp-rs 组织中,我们使用以下命名约定:

  • esp- 开头的仓库关注 no_std 方式。例如 esp-hal
    • no_std 在裸机上运行,因此 esp- 代表乐鑫芯片
  • esp-idf- 开头的仓库关注 std 方式。例如 esp-idf-hal

对乐鑫产品的支持

⚠️ 注意

  • ✅ - 此功能已实现或支持
  • ⏳ - 此功能正在开发
  • ❌ - 不支持此功能
  • ⚠️ - 有一些支持,但该功能已停止开发
芯片stdno_std
ESP32
ESP32-C2
ESP32-C3
ESP32-C6
ESP32-S2
ESP32-S3
ESP32-H2
ESP8266⚠️

⚠️ 注意:ESP8266 系列的 Rust 支持非常有限,而且没有得到 Espressif 官方的正式支持。

在一定情况下支持的产品,在本书中称为“支持的乐鑫产品”。