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

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

[复制链接]
freny 提问时间:2009-3-26 22:22 /
各位高手,我在用STM32做项目的时候,用MDK,我发现我的程序老是出一些莫名奇妙的问题,比如,编译好正确运行的程序,再加一个函数或将一些变量定义多些,再运行就会出问题,百思不解,最后我发现修改启动文件中的Stack_Size      EQU     0x00000200这个,好像这个是设置堆栈大小,将其改大,变量定义多一些也没再出现问题,请问,设置这个难道跟我在C程序中定义多少变量有关系嘛?
收藏 评论2 发布时间:2009-3-26 22:22

举报

2个回答
zykzyk-93033 回答时间:2011-7-19 21:57:56

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

我也遇到了这个问题,可能是这个问题,局部变量是需要用到堆栈保存的。除非你的函数里没有再调用其它函数了。
hui235 回答时间:2011-7-19 23:04:57

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

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

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版