12个重大版本发布
0.13.0 | 2024年7月16日 |
---|---|
0.12.1 | 2024年6月19日 |
0.11.1 | 2024年3月11日 |
0.9.0 | 2023年10月26日 |
0.3.0 | 2022年10月6日 |
32 在 嵌入式开发
每月 22,185 次下载
用于 18 个包
41KB
839 行
esp-backtrace - ESP32裸机回溯
支持ESP32、ESP32-C2/C3/C6、ESP32-H2、ESP32-P4、以及ESP32-S2/S3。包含可选的异常和panic处理器,两者都可以通过它们各自的功能启用。
请注意,当针对RISC-V设备时,您需要在.cargo/config.toml
中强制帧指针(即"-C", "force-frame-pointers",
);对于Xtensa则不需要。
如果您想自己创建回溯(即不使用panic或异常处理器),可以通过arch::backtrace()
获取回溯地址数组(目前限制为10个)。
当使用panic和/或异常处理器时,请确保包含use esp_backtrace as _;
。
特性
特性 | 描述 |
---|---|
esp32 | 目标ESP32 |
esp32c2 | 目标ESP32-C2 |
esp32c3 | 目标ESP32-C3 |
esp32c6 | 目标ESP32-C6 |
esp32h2 | 目标ESP32-H2 |
esp32p4 | 目标ESP32-P4 |
esp32s2 | 目标ESP32-S2 |
esp32s3 | 目标ESP32-S3 |
panic-handler | 包含panic处理器,将添加esp-println 作为依赖 |
exception-handler | 包含异常处理器,将添加esp-println 作为依赖 |
println | 使用 esp-println 打印消息 |
defmt | 使用 defmt 日志记录来打印消息*(查看示例) |
颜色 | 用红色打印消息* |
halt-cores | 在 ESP32 / ESP32-S3 上停止两个 CPU,而不是在发生恐慌或异常时执行 loop {} |
semihosting | 在恐慌时调用 semihosting::process::abort() |
custom-halt | 在发生恐慌或异常时调用外部函数 custom_halt() 而不是执行 loop {} |
* 仅用于恐慌和异常处理
defmt
功能
请注意,defmt
在发布时不提供 MSRV 保证,因此当此功能启用时,我们无法做出任何 MSRV 保证。有关更多信息,请参阅 defmt
的 README 中的 MSRV 部分:[https://github.com/knurling-rs/defmt?tab=readme-ov-file#msrv](https://github.com/knurling-rs/defmt?tab=readme-ov-file#msrv)
许可
根据您的要求,许可为以下之一
- Apache License,版本 2.0([LICENSE-APACHE](https://github.com/esp-rs/esp-hal/blob/04cad719263bd034e53eefac6facc7a455a3cb72/LICENSE-APACHE) 或 [https://apache.ac.cn/licenses/LICENSE-2.0](https://apache.ac.cn/licenses/LICENSE-2.0))
- MIT 许可证([LICENSE-MIT](https://github.com/esp-rs/esp-hal/blob/04cad719263bd034e53eefac6facc7a455a3cb72/LICENSE-MIT) 或 [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))
任选一项。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您提交的任何有意提交以包含在作品中的贡献,应如上所述双重许可,而不附加任何其他条款或条件。
依赖关系
~0.2–1.6MB
~22K SLoC