# `xtensa-lx-rt`
[](https://crates.io/crates/xtensa-lx-rt)
[](https://docs.espressif.com/projects/rust/xtensa-lx-rt/latest/)


[](https://matrix.to/#/#esp-rs:matrix.org)
Minimal runtime/startup for Xtensa LX processors. This crate currently supports the following CPU's:
| `esp32` | ESP32 (_LX6_) |
| `esp32s2` | ESP32-S2 (_LX7_) |
| `esp32s3` | ESP32-S3 (_LX7_) |
## 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 an 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.
```toml
[profile.dev.package.xtensa-lx-rt]
opt-level = 'z'
```
## Minimum Supported Rust Version (MSRV)
This crate is guaranteed to compile when using the latest stable Rust version at the time of the crate's release. It _might_ compile with older versions, but that may change in any new release, including patches.
## License
Licensed under either of
- Apache License, Version 2.0 ([LICENSE-APACHE](../LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](../LICENSE-MIT) or http://opensource.org/licenses/MIT)
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.