你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 7708|回复: 2

STM32启动文件中的Stack_Size带来的问题

[复制链接]

5

主题

14

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2009-3-26 22:22:12 | 显示全部楼层 |阅读模式
各位高手,我在用STM32做项目的时候,用MDK,我发现我的程序老是出一些莫名奇妙的问题,比如,编译好正确运行的程序,再加一个函数或将一些变量定义多些,再运行就会出问题,百思不解,最后我发现修改启动文件中的Stack_Size      EQU     0x00000200这个,好像这个是设置堆栈大小,将其改大,变量定义多一些也没再出现问题,请问,设置这个难道跟我在C程序中定义多少变量有关系嘛?
回复

使用道具 举报

24

主题

591

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-2
发表于 2011-7-19 21:57:56 | 显示全部楼层

RE:STM32启动文件中的Stack_Size带来的问题

我也遇到了这个问题,可能是这个问题,局部变量是需要用到堆栈保存的。除非你的函数里没有再调用其它函数了。
回复 支持 反对

使用道具 举报

11

主题

57

回帖

0

蝴蝶豆

中级会员

最后登录
1970-1-1
发表于 2011-7-19 23:04:57 | 显示全部楼层

RE:STM32启动文件中的Stack_Size带来的问题

在c语言中局部变量是存在栈里面的,动态申请的内存是存在堆里面的,
单片机内存有限,所以栈的大小很有限,所以你在函数内申请太多的变量导致栈溢出就会出错。。。
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版