STM32/STM8技术论坛
登录
直播中
刘政玮
7年用户
196经验值
私信
关注
[问答]
用STM32做项目用MDK编译好正确运行的程序加一个函数再运行就会出问题
开启该帖子的消息推送
ARM
MDK
各位高手,我在用
STM32
做项目的时候,用MDK,我发现我的程序老是出一些莫名奇妙的问题,比如,编译好正确运行的程序,再加一个函数或将一些变量定义多些,再运行就会出问题!请问这是什么原因啊?网上好像说跟堆栈大小有关??求指教!
这是程序能按预期功能运行时的编译结果!
这是添加一些代码后程序编译的结果,程序运行就乱了!
可以确定的是添加的代码不会影响程序的逻辑功能。
回帖
(8)
王雷
2018-8-30 10:04:41
你的程序代码不大,可能是你采用默认设置的堆栈空间太小了,运行出错了,修改一下堆栈吧,最后用仿真器看看你的程序跑到什么地方了,出错在什么位置。
下面是堆栈修改的地方:在startup_XXX.s文件里面呢。
你的程序代码不大,可能是你采用默认设置的堆栈空间太小了,运行出错了,修改一下堆栈吧,最后用仿真器看看你的程序跑到什么地方了,出错在什么位置。
下面是堆栈修改的地方:在startup_XXX.s文件里面呢。
举报
刘政玮
2018-8-30 10:11:25
我设置了,跟上面的一样。。。木有仿真器。。。。
我设置了,跟上面的一样。。。木有仿真器。。。。
举报
王雷
2018-8-30 10:24:52
回复第 3 楼 于2014-03-06 10:37:42发表:
我设置了,跟上面的一样。。。木有仿真器。。。。
上面只是位置实例,这个堆栈大小对应一般的小代码运行没问题,建议你修改成 0x1000 0x400 试一下
回复第 3 楼 于2014-03-06 10:37:42发表:
我设置了,跟上面的一样。。。木有仿真器。。。。
上面只是位置实例,这个堆栈大小对应一般的小代码运行没问题,建议你修改成 0x1000 0x400 试一下
举报
任黎平
2018-8-30 10:36:36
添加的东西在哪里定义的
添加的东西在哪里定义的
举报
刘政玮
2018-8-30 10:47:38
确实是堆栈的问题。。。
确实是堆栈的问题。。。
举报
吕钢格
2018-8-30 10:55:26
堆栈的代码有点问题啊,修改下, 看看顺序和大小有没有错
堆栈的代码有点问题啊,修改下, 看看顺序和大小有没有错
举报
王婷
2018-8-30 11:08:12
堆栈的代码有点乱还是循环没做好吗?
堆栈的代码有点乱还是循环没做好吗?
举报
崔琳
2018-8-30 11:24:01
看着现象像是堆栈出问题了, STM32的堆栈空间有限,看看有没有这么几种问题
1、函数中有很大的局部变量;
2、函数入参是结构体,结构体占的空间很大。
这两种情况都可能导致堆栈溢出,代码跑飞
看着现象像是堆栈出问题了, STM32的堆栈空间有限,看看有没有这么几种问题
1、函数中有很大的局部变量;
2、函数入参是结构体,结构体占的空间很大。
这两种情况都可能导致堆栈溢出,代码跑飞
举报
更多回帖
rotate(-90deg);
回复
相关问答
ARM
MDK
MDK
4.2的
运行
时序问题
2019-06-05
859
为什么点终止执行后,
再运行
数据不清0?
2013-11-19
3708
求大神赐教:Labview
程序
,
运行
3-4小时,
就会出
现卡顿现象
2016-11-22
7845
MDK
使用问题
2012-10-25
2389
请问
一
个
关于RX23T烧
程序
的很神奇的问题?
2018-07-23
2035
请问UCOS任务有时无法挂起自身该怎么办?
2019-09-09
1983
时钟设置只在第
一
次进入debug时是
正确
的,Reset
再运行
出错
2014-12-30
3527
stm32
f051r8进行2.4G芯片调试使用SPI DMA模式去读DR
运行
一
段时间后收到的整帧数据右移了三
个
字节
2019-03-19
2296
STM32
USB开发停止
运行
后重新下载
运行
USB识别不到
2019-03-01
2634
用
ad9854产生单音正弦波,外部io update工作不正常是什么原因?
2023-12-19
462
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分