05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ARM</strong>v4 <strong>and</strong> <strong>ARM</strong>v5 Differences<br />

Memory access sequence<br />

When the <strong>ARM</strong> processor generates a memory access, the MPU compares the memory address with the<br />

programmed memory regions as follows:<br />

If a matching memory region is not found, a memory abort is signaled to the processor.<br />

If a matching memory region is found, the region information is used as follows:<br />

— The access permission bits are used to determine whether the access is permitted. If the access<br />

is not permitted, the MPU signals a memory abort. Otherwise, the access can proceed.<br />

— The memory region attributes are used to determine the access attributes, for example cached<br />

or non-cached, as described in Memory type support on page AppxH-10.<br />

Note<br />

When a Permission fault occurs, there is no fault status information provision for PMSA in <strong>ARM</strong>v4 or<br />

<strong>ARM</strong>v5. The CP15 registers FSR <strong>and</strong> FAR are only available in implementations with VMSA support.<br />

Overlapping regions<br />

The Protection Unit can be programmed with two or more overlapping regions. When overlapping regions<br />

are programmed, a fixed priority scheme is applied to determine the region whose attributes are applied to<br />

the memory access.<br />

Attributes for region 7 take highest priority <strong>and</strong> those for region 0 take lowest priority. For example:<br />

Data region 2 is programmed to be 4KB in size, starting from address 0x3000 with AP == 0b010<br />

(privileged modes full access, User mode read-only).<br />

Data region 1 is programmed to be 16KB in size, starting from address 0x0 with AP == 0b001<br />

(privileged mode access only).<br />

When the processor performs a data load from address 0x3010 while in User mode, the address falls into both<br />

region 1 <strong>and</strong> region 2. Because there is a clash, the attributes associated with region 2 are applied. In this<br />

case, the load would not abort.<br />

Background region<br />

Overlapping regions increase the flexibility of how regions can be mapped onto physical memory devices<br />

in the system. The overlapping properties can also be used to specify a background region. For example,<br />

assume a number of physical memory areas sparsely distributed across the 4GB address space. If only these<br />

regions are configured, any access outside the defined sparse address space aborts. You can override this<br />

behavior by programming region 0 to be a 4GB background region. In this case, if the address does not fall<br />

into any of the other regions, the access is controlled by the attributes specified for region 0.<br />

AppxH-30 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!