MSP430单片机编程调试当中的“堆栈溢出”求解

[复制链接]
6903|14
 楼主| shenmu2012 发表于 2012-4-8 13:27 | 显示全部楼层 |阅读模式
我最近在编写程序代码的过程当中,一直都会遇到这样的问题,不论我的堆栈stack size设置多大,总会出现The stack 'Stack' is filled to 91% (548 bytes used out of 600). The warning threshold is set to 90.% ,然后直接造成我程序的跑飞而得不到我想要的结果,在网上也查了很多解决办法,但是怎是不能根本的解决,求解高手指点迷经一二。。。
vivilzb1985 发表于 2012-4-8 15:35 | 显示全部楼层
楼上的问题我在调试程序的时候也是遇到过的,解决了一部分的,还是没有完全解决的啊,看看这个资料可以帮到你不。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
lirfv 发表于 2012-4-8 18:04 | 显示全部楼层
学习了      ,
感谢楼上的分享资料
zhengbo7hui 发表于 2012-4-8 21:33 | 显示全部楼层
呵呵,谢谢三楼,不过如果出现这种情况的话,可以再设大一点,或者把程序占内存的数组等进行优化。
vivilzb1985 发表于 2012-4-9 11:27 | 显示全部楼层
感谢2楼,这个资料比较有用滴,我看了几遍,暂时还是有些似懂非懂的,可以再给结合资料给讲解下么?谢谢了
vivilzb1985 发表于 2012-4-9 11:30 | 显示全部楼层
感谢4楼的解答,有个小小的疑问,把堆栈的size 设置的很大,会不会影响到我单片机运行当中的RAM的使用?
vivilzb1985 发表于 2012-4-9 11:32 | 显示全部楼层
哦,还有一个问题,4楼的大虾,优化数组,怎样个优化法的啊?我程序中的要用到的数组的数量已经是不能再少了啊。。。
gaoyang9992006 发表于 2012-5-31 12:23 | 显示全部楼层
难道你使用递归啦,?记住啊,单片机最怕递归的,差不多都溢出啦
TI_MCU 发表于 2012-6-1 10:01 | 显示全部楼层
楼主是不是有使用递归? 在单片机中因为RAM比较小,轻易不要使用它。

另外堆栈的大小即是从RAM中分出空间给堆栈使用。在其它变量(如全局变量)足够存的情况下,堆栈设大点不会有问题的
keken 发表于 2012-6-1 14:42 | 显示全部楼层
不时很了解 不过RAM确实不要轻易使用
busyants 发表于 2013-1-10 11:21 | 显示全部楼层
反复反复反复反复反复反复反复反复反复反复反复
gaozhenfu 发表于 2014-7-22 20:25 | 显示全部楼层
我是在程序里面使用了指数函数pow(x,n),导致了LZ的问题,可是如果不用这个函数的话没法解决啊,不知道该怎么办,求高手指点
hackthree 发表于 2014-8-2 08:21 | 显示全部楼层
也遇到了这个问题呢,同一个函数,不停调用,堆栈就不停增加 。。。
15102595235 发表于 2014-8-22 08:56 | 显示全部楼层
偶也遇到这个问题了,整不了了
李小川希比 发表于 2016-3-21 15:12 来自手机 | 显示全部楼层
那请问怎么解决啊,我的也是同一个函数多次调用,就显示bss溢出
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

4324

帖子

9

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