ARM Technical Support Knowledge Articles

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

Applies to: ARM940T

Answer

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

[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