Cortex-M3 Processor Overview and Debug Features
UG0331 User Guide Revision 15.0 17
2.7.1.1 Memory Protection Unit
The MPU can be enabled by the selection option provided, as shown in the preceding figure. The
following table lists all the registers that can be used to configure the MPU for the creation of the
protected memory regions and setting the privileges for the created memory region in the firmware.
2.7.1.2 SysTick Timer Configuration
The SysTick timer can be configured using the Libero software, as shown in the Figure 3, page 16, for
the SysTick calibration value; which is the rollover value of the internal SysTick timer, and SysTick clock
frequency as the division (4, 8, 16, or 32) of Cortex-M3 clock. This value is loaded into the
STCLK_DIVISOR register and it has to be configured to make sure that the SysTick clock frequency is
less than half of the frequency of Cortex-M3. SysTick also can be configured using the firmware by using
the following register, as depicted in the following table
2.7.1.3 Events Configuration
TXEV and RXEV event signals of the Cortex-M3 processor can be exposed to the FPGA fabric. This can
be configured using the Libero software, as shown in Figure 3, page 16.
2.7.1.4 System Power Management Configuration
The Cortex-M3 processor provides various power modes. M3_CLK is gated off when in SLEEPING or
SLEEPDEEP mode. SLEEPING and SLEEPDEEP signals are available at the FPGA fabric interface.
Sleep mode extension handshake signals are available at the FPGA fabric interface. System power
management options can be configured as shown in Figure 3, page 16.
2.7.1.5 Trace Port Interface Unit (TPIU) Configuration
TRACECLK & TRACEDATA[3:0] can be exposed to the FPGA fabric. TACECLK can be configured for
these signals by using the Libero software, as shown in the Figure 3, page 16.
Note: If the user design is using the FPGA fabric based master, the Cortex-M3 processor requires a valid
program in eNVM (from eNVM start address 0x60000000) to execute at power-up or power-on reset.
The valid program can be a simple user boot code or a simple loop program. You can select a .hex file of
a valid program for eNVM data client using the SystemBuilder.
Table 5 • MPU Configuration Register
Name of Register Access Type Address Reset Value
MPU type register Read Only 0xE000ED90 0x800
MPU control register Read/Write 0xE000ED94 0x0
MPU region number Read/Write 0xE000ED98 NA
MPU region base address Read/Write 0xE000ED9C NA
MPU region attribute and size Read/Write 0xE000EDA0 NA
Table 6 • SysTick Configuration Register
Name of Register Access Type Address Reset value
SysTick Control & Status Read/Write 0xE000E010 0x0
SysTick Reload value Read/Write 0xE000E014 Unpredictable
SysTick Current Value Read/Write clear 0xE000E018 Unpredictable
SysTick Calibration value Read-only 0xE000E01C STCALIB set through the Libero software