打印
[技术问答]

startup_m051series.s中Stack_Size作用

[复制链接]
309|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2021-1-6 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

请教大侠:在startup_m051series.s中Stack_Size设为0x400起什么作用,可以设为0吗?谢谢

使用特权

评论回复
沙发
jasontu| | 2021-1-7 09:37 | 只看该作者
不行,stack是决定你代码呼叫及function的变数。
百度一下就有相关的资料

使用特权

评论回复
板凳
一刀一级| | 2021-1-25 14:37 | 只看该作者

现在明白了:startup_M051series.s中Stack_Size的大小决断了MSP指针的位置,也决定了中断所能使用的堆栈的大小;因此,这个值在程序运行时是不能设为0的,否则会出现使用堆栈时破坏公用变量的值的现象;但我们可以在编译时将它设为0,这样可以得到程序所使用的内存的精确大小,然后用RAM的总量减去使用了的内存大小就可以得到Stack_Size的值,这样可以在程序运行时将MSP设到RAM的顶端。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1414

主题

3847

帖子

6

粉丝