diff --git a/examples/bare1.rs b/examples/bare1.rs index 24ed553e890241e9df86fba7335e91ae702460fe..2bf9442bf94bfdc17b20c5a444fef414480e5a46 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,10 +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 meaningful way. - let mut _x = 0; + + let mut p = Peripherals::take().unwrap(); + let stim = &mut p.ITM.stim[0]; + loop { + hprintln!("{}", _x).unwrap(); _x += 1; + iprintln!(stim, "{}", _x); // cortex_m::asm::nop(); // cortex_m::asm::bkpt(); _x -= 1; @@ -55,10 +62,16 @@ fn main() -> ! { // loop, (press pause/suspend to verify this). // what is the output in the ITM console // -// ** your answer here ** +// * 1 +// * 1 +// * 1 +// * ... // // What is the output in the semihosting (openocd) console -// ** your answer here ** +// * 0 +// * 0 +// * 0 +// * ... // // Commit your answers (bare1_1) //