#esp32 #runtime #startup #xtensa-lx-rt

macro no-std xtensa-lx-rt-proc-macros

Attributes re-exported in xtensa-lx-rt

1 unstable release

0.1.0 Sep 19, 2020

#14 in #startup

Download history 511/week @ 2022-07-31 689/week @ 2022-08-07 811/week @ 2022-08-14 874/week @ 2022-08-21 531/week @ 2022-08-28 620/week @ 2022-09-04 777/week @ 2022-09-11 678/week @ 2022-09-18 533/week @ 2022-09-25 663/week @ 2022-10-02 683/week @ 2022-10-09 556/week @ 2022-10-16 1293/week @ 2022-10-23 1398/week @ 2022-10-30 2013/week @ 2022-11-06 1355/week @ 2022-11-13

6,113 downloads per month
Used in 13 crates (via xtensa-lx-rt)


497 lines


Crates.io docs.rs Crates.io Matrix

Minimal runtime/startup for Xtensa LX processors. This crate currently supports the following CPU's:

Feature Supported CPUs
esp32 ESP32 (LX6)
esp32s2 ESP32-S2 (LX7)
esp32s3 ESP32-S3 (LX7)
esp8266 ESP8266 (LX106)

I get linker errors when I build for debug

Xtensa only provides a small code space for exceptions to fit inside, when building an unoptimized build the code size of a exception handler may exceed that size, causing a linker error. To fix this, you should always optimize this crate, even in debug builds. Adding the following to your projects Cargo.toml should do the trick.

opt-level = 'z'


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~15K SLoC