#panic-handler #panic #imxrt

无 std imxrt-uart-panic

i.MX RT 的 UART 报警处理器

4 个版本

0.2.0 2024 年 6 月 23 日
0.1.2 2023 年 11 月 8 日
0.1.1 2023 年 11 月 3 日
0.1.0 2023 年 11 月 3 日

嵌入式开发 中排名第 1543

Download history 1/week @ 2024-05-17 148/week @ 2024-06-21 8/week @ 2024-06-28

每月下载量 211
用于 teensy4-selfrebootor

MIT/Apache

14KB
79

imxrt-uart-panic

Crates.io Crates.io License Build Status docs.rs

此包为 i.MX RT 提供基于 UART 的 panic 处理器。

panic 时,它会重置指定的 UART 外设并将错误消息写入其中。

使用示例

- 示例适用于 Teensy 4.0Teensy 4.1Teensy MicroMod 板 -

#![no_std]
#![no_main]

use teensy4_bsp as bsp;

use bsp::pins::common::{P0, P1};
imxrt_uart_panic::register!(LPUART6, P1, P0, 115200);

#[bsp::rt::entry]
fn main() -> ! {
    panic!("Foo!");
}
panicked at examples\minimal.rs:11:5:
Foo!

此外,还可以提供自定义的 panic 动作,例如在向 UART 打印后执行的 teensy4_panic::sos

#![no_std]
#![no_main]

use teensy4_bsp as bsp;

use bsp::pins::common::{P0, P1};
imxrt_uart_panic::register!(LPUART6, P1, P0, 115200, teensy4_panic::sos);

#[bsp::rt::entry]
fn main() -> ! {
    panic!("Foo!");
}

此包完全兼容其他对给定 UART 外设的先前使用,尽管它可能会中断正在进行的传输。

依赖项

~26MB
~723K SLoC