ARM Technical Support Knowledge Articles

I'm running my code and I'm getting data aborts

Applies to: ARM940T


This will happen when the protection unit is enabled and there is a data access to an area of memory that does not lie within a valid data protection region.

A common occurrence is when a piece of code is executing within a valid instruction protection region for which there is no corresponding data protection region. This is because it is common to have inline literal data within a program (generated by either the compiler or LDR Rd,= in assembler).

When the program tries to access the literal data, it will execute a load instruction that will attempt to fetch data from within the program's address range. Therefore a data protection region with appropriate access permissions must be defined, typically to correspond to the instruction protection region, otherwise a data abort will occur.

See also:

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

Rate this article

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