Protection
Checks
MMRs
MPU_ADDR_ERR_INT
MPU_PROT_ERR_INT
Output
Data
Bus
MPU Register Bus
Input
Data
Bus
MPU
Introduction
96
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Memory Protection Unit (MPU)
5.1
Introduction
This device supports two memory protection units (MPU1 and MPU2). MPU1 supports the 128KB on-chip
RAM and MPU2 supports the DDR2/mDDR SDRAM.
5.1.1 Purpose of the MPU
The memory protection unit (MPU) is provided to manage access to memory. The MPU allows you to
define multiple ranges and limit access to system masters based on their privilege ID. The MPU can
record a detected fault, or invalid access, and notify the system through an interrupt.
5.1.2 Features
The MPU supports the following features:
•
Supports multiple programmable address ranges
•
Supports 0 or 1 fixed range
•
Supports read, write, and execute access privileges
•
Supports privilege ID associations with ranges
•
Generates an interrupt when there is a protection violation, and saves violating transfer parameters
•
Supports protection of its own registers
5.1.3 Block Diagram
shows a block diagram of the MPU. An access to a protected memory must pass through the
MPU. During an access, the MPU checks the memory address on the input data bus against fixed and
programmable ranges. If allowed, the transfer is passed unmodified to the output data bus. If the transfer
fails the protection check then the MPU does not pass the transfer to the output bus but rather services
the transfer internally back to the input bus (to prevent a hang) returning the fault status to the requestor
as well as generating an interrupt about the fault. The MPU generates two interrupts: an address error
interrupt (MPU_ADDR_ERR_INT) and a protection interrupt (MPU_PROT_ERR_INT).
Figure 5-1. MPU Block Diagram