| |||
| Home > Protection Unit > Overlapping regions | |||
The protection unit may be programmed such that two, or more, regions overlap. In this case, a fixed priority scheme applies to determine which region’s attributes should be applied to the memory access. Attributes for region 7 take highest priority, and region 0 take lowest priority.
A block diagram showing the protection unit is given in Memory regions.
Consider the following:
Data region 2 is programmed to be 4KB in size, starting from address 0x3000 with Dap[1:0]=10 (Privileged mode full access, user mode read only).
Data region 1 is programmed to be 16KB in size, starting from address 0x0 with Dap[1:0]=01 (Privileged mode access only).
If the processor attempts to perform a data store to address 0x3010 while in user mode, the address falls into both region 1 and region 2, as shown in Memory regions. As there is a clash, the attributes associated with region 2 are applied, because of the fixed priority scheme. In this case, the user is only allowed to perform reads from this region, and so a data abort occurs.