//! Changing the panic handler //! //! The easiest way to change the panic handler is to use a different [panic handler crate][0]. //! //! [0]: https://crates.io/keywords/panic-impl //! //! --- //! //! ``` //! //! #![no_main] //! #![no_std] //! //! #[macro_use] //! extern crate cortex_m_rt as rt; //! //! // Pick one of these two panic handlers: //! //! // Reports panic messages to the host stderr using semihosting //! extern crate panic_semihosting; //! //! // Logs panic messages using the ITM (Instrumentation Trace Macrocell) //! // extern crate panic_itm; //! //! use rt::ExceptionFrame; //! //! entry!(main); //! //! fn main() -> ! { //! panic!("Oops") //! } //! //! // define the hard fault handler //! exception!(HardFault, hard_fault); //! //! fn hard_fault(ef: &ExceptionFrame) -> ! { //! panic!("HardFault at {:#?}", ef); //! } //! //! // define the default exception handler //! exception!(*, default_handler); //! //! fn default_handler(irqn: i16) { //! panic!("Unhandled exception (IRQn = {})", irqn); //! } //! ``` // Auto-generated. Do not modify.