Crates.io | esp-idf-sys |
lib.rs | esp-idf-sys |
version | 0.35.0 |
source | src |
created_at | 2019-08-02 11:44:58.315343 |
updated_at | 2024-06-23 08:06:58.268899 |
description | Bindings for ESP-IDF (Espressif's IoT Development Framework) |
homepage | |
repository | https://github.com/esp-rs/esp-idf-sys |
max_upload_size | |
id | 153738 |
size | 234,772 |
cargo
driven and automatically downloads & configures everything by default; no need to download the ESP IDF SDK manually, or set up a C toolchainYou might want to also check out the type safe Rust wrappes built on top of these raw bindings:
Note
esp-idf-sys
's build script will download the esp-idf, its gcc toolchain, and build it. To show progress and build information about this process run cargo with the-vv
(very verbose) flag, so that build script output is also displayed. This is especially useful since the initial build will take a while.
Follow the Prerequisites section in the esp-idf-template
crate.
Read the documentation here.
The examples could be built and flashed conveniently with cargo-espflash
. To run e.g. std_basics
on an e.g. ESP32-C3:
(Swap the Rust target and example name with the target corresponding for your ESP32 MCU and with the example you would like to build)
with 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 |
Use the esp-idf-template project. Everything would be arranged and built for you automatically - no need to manually clone the ESP IDF repository.
For more information, check out: