Update migration guide to include the enabling of the the DWT peripheral. Also makes note of enable trace with the DCB to allow the DWT to work without a debugger connected.

This commit is contained in:
Scott Mabin 2019-12-03 11:33:24 +00:00
parent 11d9bcdbd1
commit 864ec2ebc9

View file

@ -192,7 +192,9 @@ the `monotonic = rtfm::cyccnt::CYCCNT` argument to the `#[rtfm::app]` attribute.
Also, the `Duration` and `Instant` types and the `U32Ext` trait have been moved Also, the `Duration` and `Instant` types and the `U32Ext` trait have been moved
into the `rtfm::cyccnt` module. This module is only available on ARMv7-M+ into the `rtfm::cyccnt` module. This module is only available on ARMv7-M+
devices. devices. The removal of the `timer-queue` also brings back the `DWT` peripheral
inside the core peripherals struct, this will need to be enabled by the application
inside `init`.
Change this: Change this:
@ -217,6 +219,12 @@ use rtfm::cyccnt::{Duration, Instant, U32Ext};
#[rtfm::app(/* .. */, monotonic = rtfm::cyccnt::CYCCNT)] #[rtfm::app(/* .. */, monotonic = rtfm::cyccnt::CYCCNT)]
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
const APP: () = { const APP: () = {
#[init]
fn init(cx: init::Context) {
cx.core.DWT.enable_cycle_counter();
// optional, configure the DWT run without a debugger connected
cx.core.DCB.enable_trace();
}
#[task(schedule = [b])] #[task(schedule = [b])]
fn a(cx: a::Context) { fn a(cx: a::Context) {
// .. // ..