请问TI工程师以及各位:
在DEBUG下面,上面这个Stack Usage中显示的黄颜色信息代表是警告吗? 我故意在函数中 局部变量取了一个大数组,但CCS环境下 堆栈的大小仍然默认为160 ,根据这个实际堆栈情况是不是需要更改 CCS环境下 堆栈的大小。 但是现在不更改,仍然程序运行正常。请教各位。
yuyinfeng1982:
补充说明CCS中的 默认堆栈设置如下:
,
灰小子:
参考这个帖子
e2echina.ti.com/…/57726
,
yuyinfeng1982:
谢谢楼上的答复,我想问一下,那CCS种的“Stack Usage”是什么作用呢? 采用“e2echina.ti.com/…/57726”暂停程序方法查看SP,我还是不大会看。
,
Susan Yang:
The Stack Usage view is a static view of Stack Usage broken down by function. The information is generated on project build. It does not provide run-time analysis, and it will not provide information on a per task basis.
Inclusive means it is the stack usage including the functions that it calls.Exclusive is just that used by the function.
如上所述,Stack Usage是一个静态的view,并不提供运行时的stack分析。
,
user6438409:
我這邊也有遇到Stack Usage中显示的黄颜色信息,所以可以不用理會嗎?
目前我是看SP指針都沒有超過上限stack上限,應該是很安全吧
,
Susan Yang:
"Stack Usage是一个静态的view,并不提供运行时的stack分析"
是的,动态监控stack使用的话,将会耗费MCU本身的内存,所以我们使用的是静态查看
黄色应表示已使用的空间量超过80%。如果将鼠标指针悬停在黄色条上,弹出窗口会显示什么?
The color shading indicates whether you are close to the limit of available stack space (shown as yellow) or not (shown as green). To avoid hitting the limit, you could free up some stack usage or increase the system stack size.
黄色的话,建议您增加stack size
,
user6438409:
Hi Susan
我目前在測試enet_tcpecho_server這一個範例程式
不修改的狀況下,編譯完成後就出現超量的警告
就算stack size調整成20480也是出現超量的警告,這現象看起來很疑惑?
調大了10倍應該已經非常大了,這Stack Usage計算是不是有問題呢?
但是實際運行時SP指針不會超過2048上限,還是說以動態運行的SP為準就好呢?
謝謝
enet_tcpecho_server.7z
,
Susan Yang:
有可能是某些情况下该图表的显示上有一些问题(之前有员工提交了类似的报告)
建议您以实际运行状态为准,我之后也会去确认一下
,
user6438409:
我最近也找到這顯示問題好像還沒被解決
sir.ext.ti.com/…/EXT_EP-9641