栈顶地址是多少

2019-07-20 19:40发布

//设置栈顶地址
__asm void MSR_MSP(u32 addr)
{
    MSR MSP, r0                         //set Main Stack value
    BX r14
}


我也不懂,为什么是把  ro的值   赋值为   栈顶地址 呢??

而且ro的值究竟是什么值?手册上没介绍RO寄存器。

如果是把addr的值放到MSP做栈顶地址,什么个道理??到底栈顶地址在哪里可以查到具体数值,我只找到了在启动文件可以设置堆栈的大小,但是栈顶的地址没看到在哪可以设置。难道说是编译器处理的,那又是根据什么处理的呢?

困惑!!!。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
aozima
1楼-- · 2019-07-20 22:13
参考ARM的函数调用的参数规则,R0是第一个参数。
Jane_Yih
2楼-- · 2019-07-20 23:17
aozima 发表于 2016-10-6 17:11
参考ARM的函数调用的参数规则,R0是第一个参数。

谢谢!想问下在什么文档里。

还有你知道为什么要把栈顶地址设置和App代码的flash地址一样。那地址不是冲突了吗?

一周热门 更多>