[][src]Struct cc2650::cpu_dwt::RegisterBlock

#[repr(C)]
pub struct RegisterBlock { pub ctrl: CTRL, pub cyccnt: CYCCNT, pub cpicnt: CPICNT, pub exccnt: EXCCNT, pub sleepcnt: SLEEPCNT, pub lsucnt: LSUCNT, pub foldcnt: FOLDCNT, pub pcsr: PCSR, pub comp0: COMP0, pub mask0: MASK0, pub function0: FUNCTION0, pub comp1: COMP1, pub mask1: MASK1, pub function1: FUNCTION1, pub comp2: COMP2, pub mask2: MASK2, pub function2: FUNCTION2, pub comp3: COMP3, pub mask3: MASK3, pub function3: FUNCTION3, // some fields omitted }

Register block

Fields

ctrl: CTRL

0x00 - Control Use the DWT Control Register to enable the DWT unit.

cyccnt: CYCCNT

0x04 - Current PC Sampler Cycle Count This register is used to count the number of core cycles. This counter can measure elapsed execution time. This is a free-running counter (this counter will not advance in power modes where free-running clock to CPU stops). The counter has three functions: 1: When CTRL.PCSAMPLEENA = 1, the PC is sampled and emitted when the selected tapped bit changes value (0 to 1 or 1 to 0) and any post-scalar value counts to 0. 2: When CTRL.CYCEVTENA = 1 , (and CTRL.PCSAMPLEENA = 0), an event is emitted when the selected tapped bit changes value (0 to 1 or 1 to 0) and any post-scalar value counts to 0. 3: Applications and debuggers can use the counter to measure elapsed execution time. By subtracting a start and an end time, an application can measure time between in-core clocks (other than when Halted in debug). This is valid to 2^32 core clock cycles (for example, almost 89.5 seconds at 48MHz).

cpicnt: CPICNT

0x08 - CPI Count This register is used to count the total number of instruction cycles beyond the first cycle.

exccnt: EXCCNT

0x0c - Exception Overhead Count This register is used to count the total cycles spent in interrupt processing.

sleepcnt: SLEEPCNT

0x10 - Sleep Count This register is used to count the total number of cycles during which the processor is sleeping.

lsucnt: LSUCNT

0x14 - LSU Count This register is used to count the total number of cycles during which the processor is processing an LSU operation beyond the first cycle.

foldcnt: FOLDCNT

0x18 - Fold Count This register is used to count the total number of folded instructions. The counter increments on each instruction which takes 0 cycles.

pcsr: PCSR

0x1c - Program Counter Sample This register is used to enable coarse-grained software profiling using a debug agent, without changing the currently executing code. If the core is not in debug state, the value returned is the instruction address of a recently executed instruction. If the core is in debug state, the value returned is 0xFFFFFFFF.

comp0: COMP0

0x20 - Comparator 0 This register is used to write the reference value for comparator 0.

mask0: MASK0

0x24 - Mask 0 Use the DWT Mask Registers 0 to apply a mask to data addresses when matching against COMP0.

function0: FUNCTION0

0x28 - Function 0 Use the DWT Function Registers 0 to control the operation of the comparator 0. This comparator can: 1. Match against either the PC or the data address. This is controlled by CYCMATCH. This function is only available for comparator 0 (COMP0). 2. Emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.

comp1: COMP1

0x30 - Comparator 1 This register is used to write the reference value for comparator 1.

mask1: MASK1

0x34 - Mask 1 Use the DWT Mask Registers 1 to apply a mask to data addresses when matching against COMP1.

function1: FUNCTION1

0x38 - Function 1 Use the DWT Function Registers 1 to control the operation of the comparator 1. This comparator can: 1. Perform data value comparisons if associated address comparators have performed an address match. This function is only available for comparator 1 (COMP1). 2. Emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.

comp2: COMP2

0x40 - Comparator 2 This register is used to write the reference value for comparator 2.

mask2: MASK2

0x44 - Mask 2 Use the DWT Mask Registers 2 to apply a mask to data addresses when matching against COMP2.

function2: FUNCTION2

0x48 - Function 2 Use the DWT Function Registers 2 to control the operation of the comparator 2. This comparator can emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.

comp3: COMP3

0x50 - Comparator 3 This register is used to write the reference value for comparator 3.

mask3: MASK3

0x54 - Mask 3 Use the DWT Mask Registers 3 to apply a mask to data addresses when matching against COMP3.

function3: FUNCTION3

0x58 - Function 3 Use the DWT Function Registers 3 to control the operation of the comparator 3. This comparator can emit data or PC couples, trigger the ETM, or generate a watchpoint depending on the operation defined by FUNCTION.

Auto Trait Implementations

Blanket Implementations

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]