#panic-handler #write #exit #fmt #messages

no-std panic-write

Write panic messages to a core::fmt::Write and then halt

1 unstable release

0.1.0 Sep 13, 2020

#1212 in Embedded development

21 downloads per month

MIT/Apache

7KB
71 lines

panic-write

Write panic messages to a core::fmt::Write and then halt, intended for bare metal development.

Usage

#![no_std]

use panic_write::PanicHandler;
use core::fmt::Write;

let serial = ...;
// assign the handler to an unused variable to stop it from getting dropped
let _panic_handler = PanicHandler::new(serial);

The panic handler is un-registered when dropped, if no active panic handler is registered and the app panics, it will halt without printing anything.

Additionally, the panic handler can also be used in place of the original Write throughout the rest of the app.

#![no_std]

use panic_write::PanicHandler;
use core::fmt::Write;

let serial = ...;
let mut serial = PanicHandler::new(serial);

writeln!(&mut serial, "starting app");

No runtime deps