ARM Technical Support Knowledge Articles

I turn on the protection unit and I get prefetch aborts

Applies to: ARM940T

Answer

When the protection unit is enabled, any executed instruction must be fetched from an address within an instruction protection region, otherwise a prefetch abort will be generated. Therefore before the protection unit is enabled at least one instruction region must be programmed and this must include the next instruction to be fetched and executed after the protection unit is enabled.

Typically for each instruction region programmed, a corresponding data region covering the same address range will also be programmed to allow for literal pool data accesses (generated by either the compiler or LDR Rd,= in assembler).

Note that the area of memory where the vector table is located must also reside within a valid protection region.

Article last edited on: 2008-09-09 15:47:38

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential