你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[复制链接]
风华正茂0314
提问时间:2014-3-6 10:13 /
各位高手,我在用STM32做项目的时候,用MDK,我发现我的程序老是出一些莫名奇妙的问题,比如,编译好正确运行的程序,再加一个函数或将一些变量定义多些,再运行就会出问题!请问这是什么原因啊?网上好像说跟堆栈大小有关??求指教!
这是程序能按预期功能运行时的编译结果!
这是添加一些代码后程序编译的结果,程序运行就乱了!
可以确定的是添加的代码不会影响程序的逻辑功能。
赞
0
收藏
0
评论
8
分享
发布时间:2014-3-6 10:13
举报
请先
登录
后回复
8个回答
fengye5340
回答时间:2014-3-6 10:18:08
a0a.1 0b0c
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
你的程序代码不大,可能是你采用默认设置的堆栈空间太小了,运行出错了,修改一下堆栈吧,最后用仿真器看看你的程序跑到什么地方了,出错在什么位置。
下面是堆栈修改的地方:在startup_XXX.s文件里面呢。
赞
0
评论
回复
支持
反对
风华正茂0314
回答时间:2014-3-6 10:37:42
a0a.1 0b0c
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
我设置了,跟上面的一样。。。木有仿真器。。。。
赞
0
评论
回复
支持
反对
fengye5340
回答时间:2014-3-6 11:52:12
a0a.1 0b0c
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复第 3 楼 于2014-03-06 10:37:42发表:
我设置了,跟上面的一样。。。木有仿真器。。。。
上面只是位置实例,这个堆栈大小对应一般的小代码运行没问题,建议你修改成 0x1000 0x400 试一下
赞
0
评论
回复
支持
反对
青檬
回答时间:2014-3-6 12:37:10
a0a.1 0b0c
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
添加的东西在哪里定义的
赞
0
评论
回复
支持
反对
风华正茂0314
回答时间:2014-3-6 14:25:10
a0a.1 0b0c
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
确实是堆栈的问题。。。
赞
0
评论
回复
支持
反对
aaa999kk
回答时间:2014-3-7 14:06:11
a0a.1 0b0c
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
堆栈的代码有点问题啊,修改下, 看看顺序和大小有没有错
赞
0
评论
回复
支持
反对
aaa1350
回答时间:2014-3-7 23:51:27
a0a.1 0b0c
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
堆栈的代码有点乱还是循环没做好吗?
赞
0
评论
回复
支持
反对
wkuang
回答时间:2014-3-9 19:52:42
a0a.1 0b0c
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
看着现象像是堆栈出问题了, STM32的堆栈空间有限,看看有没有这么几种问题
1、函数中有很大的局部变量;
2、函数入参是结构体,结构体占的空间很大。
这两种情况都可能导致堆栈溢出,代码跑飞
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
下面是堆栈修改的地方:在startup_XXX.s文件里面呢。
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
我设置了,跟上面的一样。。。木有仿真器。。。。
上面只是位置实例,这个堆栈大小对应一般的小代码运行没问题,建议你修改成 0x1000 0x400 试一下
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
RE:求大神指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1、函数中有很大的局部变量;
2、函数入参是结构体,结构体占的空间很大。
这两种情况都可能导致堆栈溢出,代码跑飞