1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
//! Set the panicking behavior to log to a JLINK debugger and break. //! //! Currently, this crate only supports the ARM Cortex-M architecture. //! //! # Usage //! //! ``` ignore //! #![no_std] //! //! use panic_rtt_core::{self, rtt_init_print, rprintln}; //! //! fn main() { //! // you must create a print channel if you wish to see print output in RTT //! rtt_init_print!(NoBlockTrim); //! let value = 5; //! rprintln!("Hello world! {}", value); //! panic!("message logged to jlink debugger"); //! } //! ``` #![deny(missing_docs)] #![deny(warnings)] #![no_std] use core::panic::PanicInfo; use cortex_m::{asm, interrupt}; pub use rtt_target::{rprint, rprintln, rtt_init_print}; #[inline(never)] #[panic_handler] fn panic(info: &PanicInfo) -> ! { interrupt::disable(); rprintln!("{}", info); loop { asm::bkpt(); } }