libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
|
System Control Space (SCS) => Data Watchpoint and Trace (DWT). More...
Macros | |
#define | DWT_CTRL MMIO32(DWT_BASE + 0x00) |
DWT Control register Purpose Provides configuration and status information for the DWT block, and used to control features of the block Usage constraints: There are no usage constraints. More... | |
#define | DWT_PCSR MMIO32(DWT_BASE + 0x1C) |
#define | DWT_COMP(n) MMIO32(DWT_BASE + 0x20 + (n) * 16) |
#define | DWT_MASK(n) MMIO32(DWT_BASE + 0x24 + (n) * 16) |
#define | DWT_FUNCTION(n) MMIO32(DWT_BASE + 0x28 + (n) * 16) |
#define | DWT_LSR MMIO32(DWT_BASE + CORESIGHT_LSR_OFFSET) |
#define | DWT_LAR MMIO32(DWT_BASE + CORESIGHT_LAR_OFFSET) |
#define | DWT_CTRL_NUMCOMP_SHIFT 28 |
#define | DWT_CTRL_NUMCOMP (0x0F << DWT_CTRL_NUMCOMP_SHIFT) |
#define | DWT_MASKx_MASK 0x0F |
#define | DWT_FUNCTIONx_MATCHED (1 << 24) |
#define | DWT_FUNCTIONx_FUNCTION 15 |
#define | DWT_FUNCTIONx_FUNCTION_DISABLED 0 |
#define | DWT_FUNCTIONx_FUNCTION_PCWATCH 4 |
#define | DWT_FUNCTIONx_FUNCTION_DWATCH_R 5 |
#define | DWT_FUNCTIONx_FUNCTION_DWATCH_W 6 |
#define | DWT_FUNCTIONx_FUNCTION_DWATCH_RW 7 |
Functions | |
bool | dwt_enable_cycle_counter (void) |
DebugTrace Enable the CPU cycle counter. More... | |
uint32_t | dwt_read_cycle_counter (void) |
DebugTrace Read the CPU cycle counter. More... | |
System Control Space (SCS) => Data Watchpoint and Trace (DWT).
See "ARMv7-M Architecture Reference Manual" and "ARMv6-M Architecture Reference Manual" The DWT is an optional debug unit that provides watchpoints, data tracing, and system profiling for the processor.
#define DWT_CTRL MMIO32(DWT_BASE + 0x00) |
#define DWT_CTRL_NUMCOMP (0x0F << DWT_CTRL_NUMCOMP_SHIFT) |
#define DWT_LAR MMIO32(DWT_BASE + CORESIGHT_LAR_OFFSET) |
#define DWT_LSR MMIO32(DWT_BASE + CORESIGHT_LSR_OFFSET) |
bool dwt_enable_cycle_counter | ( | void | ) |
DebugTrace Enable the CPU cycle counter.
This function will try to enable the CPU cycle counter that is intended for benchmarking performance of the code. If function fails, the cycle counter isn't available on this architecture.
Definition at line 58 of file dwt.c.
References DWT_CTRL, SCS_DEMCR, and SCS_DEMCR_TRCENA.
uint32_t dwt_read_cycle_counter | ( | void | ) |
DebugTrace Read the CPU cycle counter.
This function reads the core cycle counter if it is enabled. It is the fastest clock running on the system.
Definition at line 90 of file dwt.c.
References DWT_CTRL.