|
楼上的,能说下都有哪些堆栈需要初始化吗? 对了,系统对堆栈的地址有没有什么要求,我是这样初始化堆栈的,不知道有没有什么问题
SVCStack EQU (_STACK_BASEADDRESS-0x2800) ; 0x33ff5800 ~
UserStack EQU (_STACK_BASEADDRESS-0x3800); 0x33ff4800 ~
UndefStack EQU (_STACK_BASEADDRESS-0x2400) ; 0x33ff5c00 ~
AbortStack EQU (_STACK_BASEADDRESS-0x2000) ; 0x33ff6000 ~
IRQStack EQU (_STACK_BASEADDRESS-0x1000); 0x33ff7000 ~
FIQStack EQU (_STACK_BASEADDRESS-0x0) ; 0x33ff8000 ~
bic r0,r0,#MODEMASK
orr r1,r0,#UNDEFMODE|NOINT
msr cpsr_cxsf,r1 ;UndefMode
ldr sp,=UndefStack ; UndefStack=0x33FF_5C00
orr r1,r0,#ABORTMODE|NOINT
msr cpsr_cxsf,r1 ;AbortMode
ldr sp,=AbortStack ; AbortStack=0x33FF_6000
orr r1,r0,#IRQMODE|NOINT
msr cpsr_cxsf,r1 ;IRQMode
ldr sp,=IRQStack ; IRQStack=0x33FF_7000
orr r1,r0,#FIQMODE|NOINT
msr cpsr_cxsf,r1 ;FIQMode
ldr sp,=FIQStack ; FIQStack=0x33FF_8000
bic r0, r0, #MODEMASK|NOINT
orr r1, r0, #SVCMODE
msr cpsr_cxsf, r1 ; SVCMode.
ldr sp, =SVCStack |
|