4 releases
0.2.0 | Jun 23, 2024 |
---|---|
0.1.2 | Nov 8, 2023 |
0.1.1 | Nov 3, 2023 |
0.1.0 | Nov 3, 2023 |
#1696 in Embedded development
Used in teensy4-selfrebootor
14KB
79 lines
imxrt-uart-panic
This crate provides a UART based panic handler for i.MX RT.
Upon panic, it resets the given UART peripheral and writes an error message to it.
Usage Example
- examples are intended for the Teensy 4.0, Teensy 4.1 or Teensy MicroMod board -
#![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!
Additionally, one can provide a custom panic action, such as teensy4_panic::sos
,
that will be executed after printing to UART:
#![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!");
}
This crate is fully compatible with other previous usages of the given UART peripheral, although it might abort transmissions that are already in progress.
Dependencies
~26MB
~723K SLoC