ARM关于栈的简单问题,请教
时间:10-02
整理:3721RD
点击:
ARM里面7种工作模式,除了用户和系统外,其它每种模式都有各自独立的栈空间。
C语言工作时,也需要堆和栈。
那么ARM上运行C程序时,用户模式下的栈和C程序中的栈有什么关系,有什么区别?
是不是使用__user_initial_stackheap(1)设置了C程序堆栈后,就不需要在Startup.s文件中设置用户模式的栈(2)了
----------------------(1)---------------------
__user_initial_stackheap
LDR R0, =bottom_of_heap
LDR R1, =StackUsr
LDR R2, =top_of_heap
LDR R3, =bottom_of_Stacks
BX LR
----------------------(2)---------------------
Startup.s文件中设置用户模式的栈
MSR CPSR_c, #Mode_USR
LDR SP, =StackUsr
我是爱莫能助啊,不好意思啊
那还是谢谢你。