TI中文支持网
TI专业的中文技术问题搜集分享网站

堆栈设置及溢出问题

FR6972是2K的RAM,我手动设置堆栈,超出上限会有什么影响吗,比如我设置STACK是2000,HEAP是4000,明显超出了RAM,但不会提示我错误,我在实际使用中会有什么影响吗

还有我动态分配了400个整型节点的链表,为什么一开始能用,用着用着数据出错,堆栈溢出了

我是不是应该换一个大一点的RAM的芯片

Susan Yang:

建议您看一下您的map文件看一下实际用到了多少

堆栈溢出可能导致软件不稳定和运行崩溃,因此确保为应用程序分配足够的堆栈空间非常重要。

建议您先参考一下

processors.wiki.ti.com/…/Stack_and_Heap_size_requirements

以及

www.ti.com/…/slaa628.pdf

Chauncy Li3:

回复 Susan Yang:

所以我的堆栈做多设置成全覆盖RAM,也就是合起来800是吗链表结点太多循环嵌套太多是会溢出堆栈的是吗?

Susan Yang:

回复 Chauncy Li3:

系统默认将.stack放在RAM中的,但您可以自己修改将其放在FRAM中

具体可以参考链接

e2echina.ti.com/…/348890

Chauncy Li3:

回复 Susan Yang:

那我直接data16heap =4400-ffff就把堆栈放铁电了是吗 我就可以随意开大小了是吧 太感谢啦

灰小子:

大的数组和链表建议直接保存到FRAM上。

赞(0)
未经允许不得转载:TI中文支持网 » 堆栈设置及溢出问题
分享到: 更多 (0)