From 60639b3a9ca22b89067124651ff86ab3c81756c1 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Tue, 21 Jan 2020 22:13:23 +0100 Subject: use the safe DWT::unlock API instead of a unsafe write_volatile call --- examples/schedule.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/schedule.rs b/examples/schedule.rs index 97818e3..8dbe4ab 100644 --- a/examples/schedule.rs +++ b/examples/schedule.rs @@ -1,9 +1,11 @@ //! examples/schedule.rs +#![deny(unsafe_code)] #![deny(warnings)] #![no_main] #![no_std] +use cortex_m::peripheral::DWT; use cortex_m_semihosting::hprintln; use panic_halt as _; use rtfm::cyccnt::{Instant, U32Ext as _}; @@ -15,8 +17,8 @@ const APP: () = { fn init(mut cx: init::Context) { // Initialize (enable) the monotonic timer (CYCCNT) cx.core.DCB.enable_trace(); - // required on devices that software lock the DWT (e.g. STM32F7) - unsafe { cx.core.DWT.lar.write(0xC5ACCE55) } + // required on Cortex-M7 devices that software lock the DWT (e.g. STM32F7) + DWT::unlock(); cx.core.DWT.enable_cycle_counter(); // semantically, the monotonic timer is frozen at time "zero" during `init` -- cgit v1.2.3