微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > ARM关于栈的简单问题,请教

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

我是爱莫能助啊,不好意思啊

那还是谢谢你。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top