diff --git a/Cargo.toml b/Cargo.toml index 3089f34742470f03ec9cda4ed1a5aa5db3bef303..f650756a23296262982e888f8d67257a41059217 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ optional = true [dependencies.cortex-m] version = "0.5.8" -# features = ["inline-asm"] # <- currently requires nightly compiler +features = ["inline-asm"] # <- currently requires nightly compiler # Uncomment for the allocator example. # alloc-cortex-m = "0.3.5" diff --git a/examples/bare1.rs b/examples/bare1.rs index 94b99d08183c8f821584434c8a3cd02f15efcb80..bbac0b72d905378ff42cdb29c5dc7276f0299396 100644 --- a/examples/bare1.rs +++ b/examples/bare1.rs @@ -13,6 +13,8 @@ extern crate panic_halt; use cortex_m_rt::entry; +use cortex_m::{iprintln, Peripherals}; +use cortex_m_semihosting::hprintln; #[entry] #[inline(never)] @@ -20,11 +22,15 @@ fn main() -> ! { // Prepend by `x` by _ to avoid warning (never used). // The compiler is smart enough to figure out that // `x` is not used in any menaningful way. + let mut p = Peripherals::take().unwrap(); + let stim = &mut p.ITM.stim[0]; let mut _x = 0; loop { _x += 1; cortex_m::asm::nop(); + iprintln!(stim, "{}",_x); + hprintln!("{}", _x).unwrap(); cortex_m::asm::bkpt(); _x -= 1; } @@ -55,10 +61,10 @@ fn main() -> ! { // loop, (press pause/suspend to verify this). // what is the output in the ITM console // -// ** your answer here ** +// ** 1 ** // // What is the output in the semihosting (openocd) console -// ** your answer here ** +// ** 1 ** // // Commit your answers (bare1_1) //