diff options
author | 2020-01-24 15:45:14 +0000 | |
---|---|---|
committer | 2020-01-24 15:45:14 +0000 | |
commit | 60c14ef680c68593b2cadb24aa086d62973dcad5 (patch) | |
tree | e17a95288ca1373436307b76ed1b99bafbe6bf38 | |
parent | 03ac76a0a209f4af2baaf4bb56057b96a672e391 (diff) | |
parent | 60639b3a9ca22b89067124651ff86ab3c81756c1 (diff) | |
download | rtic-60c14ef680c68593b2cadb24aa086d62973dcad5.tar.gz rtic-60c14ef680c68593b2cadb24aa086d62973dcad5.tar.zst rtic-60c14ef680c68593b2cadb24aa086d62973dcad5.zip |
Merge #294
294: use the safe DWT::unlock API r=korken89 a=japaric
instead of a unsafe write_volatile call
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | examples/schedule.rs | 6 |
2 files changed, 5 insertions, 3 deletions
@@ -47,7 +47,7 @@ name = "types" required-features = ["__v7"] [dependencies] -cortex-m = "0.6.0" +cortex-m = "0.6.2" cortex-m-rtfm-macros = { path = "macros", version = "0.5.0" } rtfm-core = "0.3.0" cortex-m-rt = "0.6.9" diff --git a/examples/schedule.rs b/examples/schedule.rs index a1c41ca5..d5de9dbf 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` |