[技术问答] startup_m051series.s中Stack_Size作用

[复制链接]
593|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的顶端。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1650

主题

5706

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部