#xtensa #register #peripheral #lx

nightly no-std xtensa-lx-rt

Low level access for Xtensa LX processors

8 releases (breaking)

0.12.0 Jun 21, 2022
0.11.0 Apr 4, 2022
0.10.0 Mar 29, 2022
0.9.0 Feb 14, 2022
0.5.0 Sep 19, 2020

#155 in Embedded development

Download history 110/week @ 2022-03-14 72/week @ 2022-03-21 99/week @ 2022-03-28 127/week @ 2022-04-04 87/week @ 2022-04-11 82/week @ 2022-04-18 197/week @ 2022-04-25 209/week @ 2022-05-02 201/week @ 2022-05-09 264/week @ 2022-05-16 115/week @ 2022-05-23 162/week @ 2022-05-30 221/week @ 2022-06-06 161/week @ 2022-06-13 313/week @ 2022-06-20 347/week @ 2022-06-27

1,063 downloads per month
Used in fewer than 7 crates

MIT/Apache

540KB
17K SLoC

C 15K SLoC // 0.0% comments Rust 1.5K SLoC // 0.0% comments Alex 111 SLoC

xtensa-lx-rt

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.

[profile.dev.package.xtensa-lx-rt]
opt-level = 'z'

License

Licensed under either of

at your option.

Contribution

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.

Dependencies

~0.3–0.9MB
~21K SLoC