打印

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

[复制链接]
5744|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 | 只看该作者
楼上的问题我在调试程序的时候也是遇到过的,解决了一部分的,还是没有完全解决的啊,看看这个资料可以帮到你不。。。

MSP430_C语言编程的程序堆栈溢出分析.pdf

35.83 KB

使用特权

评论回复
板凳
lirfv| | 2012-4-8 18:04 | 只看该作者
学习了      ,
感谢楼上的分享资料

使用特权

评论回复
地板
zhengbo7hui| | 2012-4-8 21:33 | 只看该作者
呵呵,谢谢三楼,不过如果出现这种情况的话,可以再设大一点,或者把程序占内存的数组等进行优化。

使用特权

评论回复
5
vivilzb1985| | 2012-4-9 11:27 | 只看该作者
感谢2楼,这个资料比较有用滴,我看了几遍,暂时还是有些似懂非懂的,可以再给结合资料给讲解下么?谢谢了

使用特权

评论回复
6
vivilzb1985| | 2012-4-9 11:30 | 只看该作者
感谢4楼的解答,有个小小的疑问,把堆栈的size 设置的很大,会不会影响到我单片机运行当中的RAM的使用?

使用特权

评论回复
7
vivilzb1985| | 2012-4-9 11:32 | 只看该作者
哦,还有一个问题,4楼的大虾,优化数组,怎样个优化法的啊?我程序中的要用到的数组的数量已经是不能再少了啊。。。

使用特权

评论回复
8
gaoyang9992006| | 2012-5-31 12:23 | 只看该作者
难道你使用递归啦,?记住啊,单片机最怕递归的,差不多都溢出啦

使用特权

评论回复
9
TI_MCU| | 2012-6-1 10:01 | 只看该作者
楼主是不是有使用递归? 在单片机中因为RAM比较小,轻易不要使用它。

另外堆栈的大小即是从RAM中分出空间给堆栈使用。在其它变量(如全局变量)足够存的情况下,堆栈设大点不会有问题的

使用特权

评论回复
10
keken| | 2012-6-1 14:42 | 只看该作者
不时很了解 不过RAM确实不要轻易使用

使用特权

评论回复
11
busyants| | 2013-1-10 11:21 | 只看该作者
反复反复反复反复反复反复反复反复反复反复反复

使用特权

评论回复
12
gaozhenfu| | 2014-7-22 20:25 | 只看该作者
我是在程序里面使用了指数函数pow(x,n),导致了LZ的问题,可是如果不用这个函数的话没法解决啊,不知道该怎么办,求高手指点

使用特权

评论回复
13
hackthree| | 2014-8-2 08:21 | 只看该作者
也遇到了这个问题呢,同一个函数,不停调用,堆栈就不停增加 。。。

使用特权

评论回复
14
15102595235| | 2014-8-22 08:56 | 只看该作者
偶也遇到这个问题了,整不了了

使用特权

评论回复
15
李小川希比| | 2016-3-21 15:12 | 只看该作者
那请问怎么解决啊,我的也是同一个函数多次调用,就显示bss溢出

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

4324

帖子

9

粉丝