ARM Technical Support Knowledge Articles

How can the ARM banked registers be initialized?

Applies to: ARM1020/22E, ARM1026EJ-S, ARM1136, ARM720T, ARM7EJ-S, ARM7TDMI, ARM7TDMI-S, ARM920/922T, ARM926EJ-S, ARM940T, ARM946E-S, ARM966E-S, ARM9TDMI

Answer

The way to initialize the banked registers for the different modes is to enter the specific mode and then to do the initialization. At boot-up, these registers are indeterminate and thus should be initialized to some known value before they are used. In particular, the stack pointers for each mode (r13) should be initialized before use. Note that when using older versions of DSM models to describe the behavior of the ARM core, the registers are initialized with the value 0xDEADDEAD.

Example code can be found in the ROM subdirectory of the examples provided with the ARM Developer Suite.

See also:

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

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