2019-03-24 14:22发布
原帖由 l0700830216 于 2012-5-15 13:17 发表 嘿嘿,你这设置堆栈为2K不能排除掉堆栈溢出的。我之前也是你这样想的,其实不是这样的。 这可能是IAR的一个bug还是430的bug。这其实就是堆栈溢出。 在这里需要声明一点,这个没有声明保不保密的。你这说到不愿 ...
呵呵,那我就放心了,嗯,很能体会你的忙。不过你说的堆栈溢出,我觉得应该是不可能的,因为我们堆栈设成1024的时候,反倒不会出现上面的现象。反而是调大的时候出现,所以我觉得堆栈溢出是可以排除的,我变量有个地方设的很大,是全局变量数组,一个地方是:__no_init char UART0_RX_BUF[400]; __no_init char UART0_Save_BUF[2][400];一个地方是: UART3_RX_BUF[500]; 不过都是全局变量,所以应该不影响栈。而且改小之后,问题没有解决,所以我又陷入了僵局唉……
最多设置5个标签!
看到你像是找到了救星
具体原因是堆栈或全局变量溢出。
不过,可能你单纯的把堆栈改大是没用的,但是你可以试试。
这可能是IAR的一个bug还是430的bug。这其实就是堆栈溢出。
在这里需要声明一点,这个没有声明保不保密的。你这说到不愿回答你问题,是你想太多了。是我们这些搞研发的没有那么多时间,而我最近在忙一个项目,没时间看我之前提的一些问题,而且我们遇到的这个问题不是一两句话能说的清楚的。
在这个网站上我学到了很多东西,特别非常感激那些热心的人,我有时间一定会像他们学习,为网站会员解答我所知道的问题的,以此来回报这个网站。
你需要查看,你所用的变量有没有特别大的,或者结构体中有指针的,这些用malloc分配指点的堆给它使用。
呵呵,那我就放心了,嗯,很能体会你的忙。不过你说的堆栈溢出,我觉得应该是不可能的,因为我们堆栈设成1024的时候,反倒不会出现上面的现象。反而是调大的时候出现,所以我觉得堆栈溢出是可以排除的,我变量有个地方设的很大,是全局变量数组,一个地方是:
__no_init char UART0_RX_BUF[400];
__no_init char UART0_Save_BUF[2][400];
一个地方是:
UART3_RX_BUF[500];
不过都是全局变量,所以应该不影响栈。
而且改小之后,问题没有解决,所以我又陷入了僵局
唉……
一周热门 更多>