Add esp-idf platform support page
This commit is contained in:
parent
7e7483d26e
commit
53e49f4c6e
3 changed files with 43 additions and 1 deletions
|
@ -27,6 +27,7 @@
|
|||
- [armv7-unknown-linux-uclibceabihf](platform-support/armv7-unknown-linux-uclibceabihf.md)
|
||||
- [\*-android and \*-androideabi](platform-support/android.md)
|
||||
- [\*-linux-ohos](platform-support/openharmony.md)
|
||||
- [\*-esp-espidf](platform-support/esp-idf.md)
|
||||
- [\*-unknown-fuchsia](platform-support/fuchsia.md)
|
||||
- [\*-kmc-solid_\*](platform-support/kmc-solid.md)
|
||||
- [loongarch\*-unknown-linux-\*](platform-support/loongarch-linux.md)
|
||||
|
|
|
@ -297,7 +297,7 @@ target | std | host | notes
|
|||
`riscv32gc-unknown-linux-musl` | | | RISC-V Linux (kernel 5.4, musl + RISCV32 support patches)
|
||||
`riscv32im-unknown-none-elf` | * | | Bare RISC-V (RV32IM ISA)
|
||||
[`riscv32imac-unknown-xous-elf`](platform-support/riscv32imac-unknown-xous-elf.md) | ? | | RISC-V Xous (RV32IMAC ISA)
|
||||
`riscv32imc-esp-espidf` | ✓ | | RISC-V ESP-IDF
|
||||
[`riscv32imc-esp-espidf`](platform-support/esp-idf.md) | ✓ | | RISC-V ESP-IDF
|
||||
`riscv64gc-unknown-freebsd` | | | RISC-V FreeBSD
|
||||
`riscv64gc-unknown-fuchsia` | | | RISC-V Fuchsia
|
||||
`riscv64gc-unknown-linux-musl` | | | RISC-V Linux (kernel 4.20, musl 1.2.0)
|
||||
|
|
41
src/doc/rustc/src/platform-support/esp-idf.md
Normal file
41
src/doc/rustc/src/platform-support/esp-idf.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
# `*-esp-espidf`
|
||||
|
||||
**Tier: 3**
|
||||
|
||||
Targets for the [ESP-IDF](https://github.com/espressif/esp-idf) development framework running on RISC-V and Xtensa CPUs.
|
||||
|
||||
## Target maintainers
|
||||
|
||||
- Ivan Markov [@ivmarkov](https://github.com/ivmarkov)
|
||||
- Scott Mabin [@MabezDev](https://github.com/MabezDev)
|
||||
|
||||
## Requirements
|
||||
|
||||
The target names follow this format: `$ARCH-esp-espidf`, where `$ARCH` specifies the target processor architecture. The following targets are currently defined:
|
||||
|
||||
| Target name | Target CPU(s) |
|
||||
|--------------------------------|-----------------------|
|
||||
| `riscv32imc-esp-espidf` | [ESP32-C3](https://www.espressif.com/en/products/socs/esp32-c3) |
|
||||
|
||||
The minimum supported ESP-IDF version is `v4.3`, though it is recommended to use the latest stable release if possible.
|
||||
|
||||
## Building the target
|
||||
|
||||
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.
|
||||
|
||||
```toml
|
||||
[build]
|
||||
target = ["$ARCH-esp-espidf"]
|
||||
|
||||
[target.$ARCH-esp-espidf]
|
||||
linker = "ldproxy"
|
||||
|
||||
[unstable]
|
||||
build-std = ["std", "panic_abort"]
|
||||
```
|
||||
|
||||
The `esp-idf-sys` crate will handle the compilation of ESP-IDF, including downloading the relevant toolchains for the build.
|
||||
|
||||
## Cross-compilation toolchains and C code
|
||||
|
||||
`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.
|
Loading…
Add table
Reference in a new issue