diff --git a/panic_semihosting/src/Cargo.toml b/panic_semihosting/src/Cargo.toml new file mode 100644 index 0000000000000000000000000000000000000000..ad47a05ef98b641ee13145f1b879980ac8bad2c3 --- /dev/null +++ b/panic_semihosting/src/Cargo.toml @@ -0,0 +1,29 @@ + +[package] +name = "nucleo" +version = "0.2.1" +authors = ["per lindgren"] +description = "panic over semihosting" +keywords = ["arm", "cortex-m", "panic"] +categories = ["embedded", "no-std"] +license = "MIT OR Apache-2.0" +repository = "not defined" + +[dependencies.cortex-m-semihosting] +version = "0.2.0" + +#[dependencies.cortex-m-rt] +#version = "0.3.5" +#features = ["abort-on-panic"] + +#[dependencies.cortex-m] +#version = "0.3.0" + + +[profile.dev] +lto = true +debug = true + +[profile.release] +lto = true +debug = true diff --git a/panic_semihosting/src/lib.rs b/panic_semihosting/src/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..bfa5db2de90354f23b1a771db1887efe6836c486 --- /dev/null +++ b/panic_semihosting/src/lib.rs @@ -0,0 +1,12 @@ + +#[lang = "panic_fmt"] +unsafe extern "C" fn panic_fmt( + _: ::core::fmt::Arguments, + _: &'static str, + _: u32, + _: u32, +) -> ! { + hprint!("panicked at '"); + ::cortex_m_semihosting::io::write_fmt(_args); + hprintln!("', {}:{}", _file, _line); +}