#esp32 #esp-idf #idf #sys #build-script #service

sys no-std esp-idf-sys

ESP-IDF(Espressif的物联网开发框架)的绑定

86个版本

0.35.0 2024年6月23日
0.34.1 2024年2月22日
0.34.0 2024年1月26日
0.33.7 2023年11月7日
0.1.2 2019年8月7日

676嵌入式开发 中排名

Download history 4241/week @ 2024-04-29 4075/week @ 2024-05-06 3774/week @ 2024-05-13 3754/week @ 2024-05-20 3527/week @ 2024-05-27 4155/week @ 2024-06-03 3625/week @ 2024-06-10 4139/week @ 2024-06-17 3867/week @ 2024-06-24 3157/week @ 2024-07-01 4440/week @ 2024-07-08 3963/week @ 2024-07-15 4064/week @ 2024-07-22 3553/week @ 2024-07-29 4127/week @ 2024-08-05 2940/week @ 2024-08-12

15,117 每月下载量
用于 35 个crates(21个直接使用)

MIT/Apache

125KB
2.5K SLoC

ESP IDF SDK的原始Rust绑定

CI crates.io Documentation Matrix Wokwi

亮点

  • 构建由 cargo 驱动,并默认自动下载和配置所有内容;无需手动下载ESP IDF SDK或设置C工具链
  • 支持原生ESP IDF构建(默认),以及PlatformIO构建
  • 可选在混合Rust/C项目中使用。请查看esp-idf-template crate中的文档

您还可能想查看基于这些原始绑定构建的类型安全Rust包装器

注意
esp-idf-sys构建脚本 将下载esp-idf、其gcc工具链并进行构建。要显示进度和此过程的构建信息,请使用带有 -vv(非常详细)标志的cargo运行,以便显示构建脚本输出。这特别有用,因为初始构建将需要一段时间。

构建先决条件

请遵循 esp-idf-template crate中的 先决条件 部分。

自定义ESP IDF SDK的构建方式

请在此处阅读 文档

示例

可以使用 cargo-espflash 方便地构建和烧录示例。例如,在ESP32-C3上运行 std_basics:(将Rust目标替换为与您的ESP32 MCU相对应的目标,以及您想要构建的示例)

使用 cargo-espflash

$ MCU=esp32c3 cargo espflash flash --target riscv32imc-esp-espidf --example std_basics --monitor
MCU “--target”
esp32c2 riscv32imc-esp-espidf
esp32c3 riscv32imc-esp-espidf
esp32c6 riscv32imac-esp-espidf
esp32h2 riscv32imac-esp-espidf
esp32p4 riscv32imafc-esp-espidf
esp32 xtensa-esp32-espidf
esp32s2 xtensa-esp32s2-espidf
esp32s3 xtensa-esp32s3-espidf

使用 ESP IDF 配置 "Hello, world!" 二进制 crate

使用 esp-idf-template 项目。所有配置和构建都会自动完成 - 无需手动克隆 ESP IDF 仓库。

更多信息

有关更多信息,请参阅

依赖项

~2–10MB
~107K SLoC