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
#![deny(missing_docs)]
#![deny(warnings)]
#![no_std]
extern crate cortex_m;
extern crate jlink_rtt;
use core::fmt::Write;
use core::panic::PanicInfo;
use core::sync::atomic::{self, Ordering};
use cortex_m::interrupt;
#[inline(never)]
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
interrupt::disable();
let mut out = jlink_rtt::Output::new();
writeln!(out, "{}", info).ok();
loop {
atomic::compiler_fence(Ordering::SeqCst);
}
}