diff --git a/examples/bare10.rs b/examples/bare10.rs index 5d3882e8dbfceb0a8babcc4218f30e3872f5dc54..dc09fde937e86969488bcdeada387f371b6eac96 100644 --- a/examples/bare10.rs +++ b/examples/bare10.rs @@ -83,9 +83,9 @@ const APP: () = { fn trace_data(byte: u8) { let stim = &mut resources.ITM.stim[0]; iprintln!(stim, "data {}", byte); - // for _ in 0..10000 { - // asm::nop(); - // } + for _ in 0..10000 { + asm::nop(); + } } #[task(priority = 1, resources = [ITM])] @@ -145,15 +145,17 @@ const APP: () = { // // Did you loose any data (was the data correctly echoed)? // -// ** your answer here ** +// ** No, the data was correctly echoed. ** // // Was the data correctly traced over the ITM? // -// ** your answer here ** +// ** No, only ab was traced. c and d generated RingBufferOverflow. ** // // Why did you loose trace information? // -// ** your asnwer here ** +// ** The interrupt has higher priority so it takes over from the running +// trace_data task, but that task has not finished its nop-loop started +// in a previous interrupt. Therefore the block!() evaluates to an error. ** // // Commit your answers (bare10_1) //