Product Specs

Table Of Contents
45 MWU Memory watch unit
Page
462
45 MWU Memory watch unit
The Memory watch unit (MWU) can be used to generate events when a memory region is accessed
by the CPU. The MWU can be configured to trigger events for access to Data RAM and Peripheral
memory segments. The MWU allows an application developer to generate memory access events during
development for debugging or during production execution for failure detection and recovery.
Listed here are the main features for MWU:
Six memory regions, four user-configurable and two fixed regions in peripheral address space
Flexible configuration of regions with START and END addresses
Generate events on CPU read and/or write to a defined region of Data RAM or peripheral memory
address space
Programmable maskable or non-maskable (NMI) interrupt on events
Peripheral interfaces can be watched for read and write access using subregions of the two fixed memory
regions
Table 110: Memory regions
Memory region
START address
END address
REGION[0..3]
Configurable
Configurable
PREGION[0]
0x40000000
0x4001FFFF
PREGION[1]
0x40020000
0x4003FFFF
Each MWU region is defined by a start address and an end address, configured by the START and END
registers respectively. These addresses are byte aligned and inclusive. The END register value has to be
greater or equal to the START register value. Each region is associated with a pair of events that indicate
that either a write access or a read access from the CPU has been detected inside the region.
For regions containing subregions (see below), a set of status registers PERREGION[0..1].SUBSTATWA
and PERREGION[0..1].SUBSTATRA indicate which subregion(s) caused the EVENT_PREGION[0..1].WA
and EVENT_PREGION[0..1].RA respectively.
The MWU is only able to detect memory accesses in the Data RAM and Peripheral memory segments from
the CPU, see Memory on page 23 for more information about the different memory segments. EasyDMA
accesses are not monitored by the MWU. The MWU requires two HCLK cycles to detect and generate the
event.
The peripheral regions, PREGION[0...1], are divided into 32 equally sized subregions, SR[0...31]. All
subregions are excluded in the main region by default, and any can be included by specifying them in the
SUBS register. When a subregion is excluded from the main region, the memory watch mechanism will not
trigger any events when that subregion is accessed.
Subregions in PREGION[0..1] cannot be individually configured for read or write access watch. Watch
configuration is only possible for a region as a whole. The PRGNiRA and PRGNiWA (i=0..1) fields in the
REGIONEN register control watching read and write access.
REGION[0..3] can be individually enabled for read and/or write access watching through their respective
RGNiRA and RGNiWA (i=0..3) fields in the REGIONEN register.
REGIONENSET and REGIONENCLR allow respectively enabling and disabling one or multiple REGIONs or
PREGIONs watching in a single write access.
45.1 Registers
Table 111: Instances
Base address
Peripheral
Instance
Description
Configuration
0x40020000
MWU
MWU
Memory Watch Unit