6 releases (breaking)
0.6.0 | Feb 28, 2023 |
---|---|
0.5.0 | Feb 10, 2023 |
0.4.0 | Dec 2, 2022 |
0.3.0 | Oct 6, 2022 |
0.1.0 | Aug 9, 2022 |
#110 in Embedded development
7,584 downloads per month
Used in 6 crates
23KB
574 lines
esp-backtrace - backtrace for ESP32 bare-metal
Supports the ESP32, ESP32-C2/C3/C6, and ESP32-S2/S3. Optional exception and panic handlers are included, both of which can be enabled via their respective features.
Please note that you need to force frame pointers (i.e. "-C", "force-frame-pointers",
in your .cargo/config.toml
)
You can get an array of backtrace addresses (currently limited to 10) via arch::backtrace()
if
you want to create a backtrace yourself (i.e. not using the panic or exception handler).
When using the panic and/or exception handler make sure to include use esp_backtrace as _;
.
When using this together with esp-println
make sure to use the same output kind for both dependencies.
(Or don't specify the output for esp-backtrace
)
Features
Feature | Description |
---|---|
esp32 | Target ESP32 |
esp32c2 | Target ESP32-C2 |
esp32c3 | Target ESP32-C3 |
esp32c6 | Target ESP32-C6 |
esp32s2 | Target ESP32-S2 |
esp32s3 | Target ESP32-S3 |
panic-handler | Include a panic handler, will add esp-println as a dependency |
exception-handler | Include an exception handler, will add esp-println as a dependency |
print-uart | Use UART to print messages* |
print-jtag-serial | Use JTAG-Serial to print messages* |
print-rtt | Use RTT to print messages* |
halt-cores | Halt both CPUs on ESP32 / ESP32-S3 in case of a panic or exception |
* only used for panic and exception handlers
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (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.