You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollup merge of #111389 - esp-rs:esp-idf-platform-support, r=jyn514
Add esp-idf platform-support page
As mentioned in #111369 (comment), the initial PR for esp-idf didn't include a platform support document which is required for the merge of #111369.
Targets for the [ESP-IDF](https://github.com/espressif/esp-idf) development framework running on RISC-V and Xtensa CPUs.
6
+
7
+
## Target maintainers
8
+
9
+
- Ivan Markov [@ivmarkov](https://github.com/ivmarkov)
10
+
- Scott Mabin [@MabezDev](https://github.com/MabezDev)
11
+
12
+
## Requirements
13
+
14
+
The target names follow this format: `$ARCH-esp-espidf`, where `$ARCH` specifies the target processor architecture. The following targets are currently defined:
The minimum supported ESP-IDF version is `v4.3`, though it is recommended to use the latest stable release if possible.
21
+
22
+
## Building the target
23
+
24
+
The target can be built by enabling it for a `rustc` build. The `build-std` feature is required to build the standard library for ESP-IDF. `ldproxy` is also required for linking, it can be installed from crates.io.
25
+
26
+
```toml
27
+
[build]
28
+
target = ["$ARCH-esp-espidf"]
29
+
30
+
[target.$ARCH-esp-espidf]
31
+
linker = "ldproxy"
32
+
33
+
[unstable]
34
+
build-std = ["std", "panic_abort"]
35
+
```
36
+
37
+
The `esp-idf-sys` crate will handle the compilation of ESP-IDF, including downloading the relevant toolchains for the build.
38
+
39
+
## Cross-compilation toolchains and C code
40
+
41
+
`esp-idf-sys` exposes the toolchain used in the compilation of ESP-IDF, see the crate [documentation for build output propagation](https://github.com/esp-rs/esp-idf-sys#conditional-compilation) for more information.
0 commit comments