使用标准库 (std)

乐鑫提供了一个基于 C 的开发框架,称为 esp-idf,它已经或将支持从 ESP32 开始的所有乐鑫芯片;请注意,此框架_不支持_ ESP8266。另请参阅对 乐鑫产品的支持

反过来,esp-idf 提供了一个新的 lib 环境,它具有足够的功能来在其上构建 Rust 标准库 (std)。这是在 ESP 设备上启用 std 支持所采用的方法。

当前支持

截至目前,esp-idf 框架支持的乐鑫产品是支持 Rust std 开发的产品。

使用 std 时,您可以访问 esp-idf 中存在的许多功能,包括线程、互斥锁和其他同步原语、集合、随机数生成、套接字……

相关的 esp-rs crates

仓库描述
esp-rs/embedded-svc嵌入式服务(WiFi网络Httpd日志记录等)的抽象特征
esp-rs/esp-idf-svc使用 esp-idf 驱动程序的 embedded-svc 的实现。
esp-rs/esp-idf-hal使用 esp-idf 框架实现 embedded-hal 和其他特性。
esp-rs/esp-idf-sysRust 绑定到 esp-idf 开发框架。提供对驱动程序、Wi-Fi 等的原始(不安全)访问。

上述 crates 具有相互依赖性,这种关系可以在下面看到。

graph TD;
    esp-idf-hal --> esp-idf-sys & embedded-svc
    esp-idf-svc --> esp-idf-sys & esp-idf-hal & embedded-svc

当您可能想要使用标准库 (std)

  • 丰富的功能:如果您的嵌入式系统需要大量功能,如支持网络协议、文件 I/O 或复杂的数据结构,您可能希望使用托管环境方法,因为标准库提供了广泛的功能,可以使用相对快速有效地构建复杂的应用程序
  • 可移植性:std crate 提供了一组标准化的 API,可以跨不同的平台和架构使用,从而更容易编写可移植和可重用的代码。
  • 快速开发:std crate 提供了一组丰富的功能,可用于快速高效地构建应用程序,而无需过多担心底层细节。