CCS 4.1.2 关于堆栈的使用

2019-03-24 08:27发布

CCS4.1.2 一个237K大小的工程,烧写到FLASH后程序一直跑飞,怀疑是堆栈溢出,于是我将默认的0x400增大为0x3000,debug后查看.map文件,发现堆栈已使用0x3000,请问这种情况是“堆栈溢出”么,如果是,通常是由于什么原因造成的?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
lcofjp
1楼-- · 2019-03-25 02:11
15951757556 发表于 2016-3-16 20:16
定义的局部变量时蛮多的,但是函数嵌套没有的啊,也没定义数组!而且我也想不明白,再大也不至于用了0x30 ...

你是设置了那么大,所以占用了那么多空间。
实际使用多少编译器并不能准确推断。
dontium
2楼-- · 2019-03-25 03:50
 精彩回答 2  元偷偷看……
15951757556
3楼-- · 2019-03-25 08:02
dontium 发表于 2016-3-17 10:31
堆栈溢出好象有提示的,----  我忘了。

你都设置了那么大的堆栈还出现错误,为什么还要怀疑是堆栈溢出 ...

因为我通过.map文件查看堆栈使用情况,发现定义了3000大小的堆栈全部用完了,所以我怀疑是堆栈溢出
15951757556
4楼-- · 2019-03-25 11:58
lcofjp 发表于 2016-3-17 10:04
你是设置了那么大,所以占用了那么多空间。
实际使用多少编译器并不能准确推断。

我刚开始也是这么觉得的,但是我查看我小程序的map文件,发现定义的400大小的堆栈,只使用了380
zhangsan234
5楼-- · 2019-03-25 14:19
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章