10.3.4. Initializing the stack pointers

The initialization code initializes the stack pointer registers. You may need to initialize some or all of the following stack pointers, depending on which interrupts and exceptions you use:

sp_SVC

must always be initialized.

sp_IRQ

must be initialized if IRQ interrupts are used. It must be initialized before interrupts are enabled.

sp_FIQ

must be initialized if FIQ interrupts are used. It must be initialized before interrupts are enabled.

sp_ABT

must be initialized for data and prefetch abort handling.

sp_UND

must be initialized for undefined instruction handling.

Generally, sp_ABT and sp_UND are not used in a simple embedded system. However, you may wish to initialize them for debugging purposes.

Note

You can set up the stack pointer sp_USR when you change to User mode to start executing the application.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D
Non-Confidential