各位专家好!
在CCS5.3下,使用6670EVM测试Tcp3d模块,通过file函数读取PC上的测试数据,遇到heap资源耗尽,请教各位专家,应如何解决。
现象如下:
1 开始时:Heap空闲大小为0x1fff060;
2 经过fopen:Heap空闲大小降为0x83efc0;
3 再经过fscanf:heap空闲大小降为0;
4 后来经过sprintf时:heap空闲大小直接变红了,没有数值;
附件有相关截图!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
各位专家好!
在CCS5.3下,使用6670EVM测试Tcp3d模块,通过file函数读取PC上的测试数据,遇到heap资源耗尽,请教各位专家,应如何解决。
现象如下:
1 开始时:Heap空闲大小为0x1fff060;
2 经过fopen:Heap空闲大小降为0x83efc0;
3 再经过fscanf:heap空闲大小降为0;
4 后来经过sprintf时:heap空闲大小直接变红了,没有数值;
附件有相关截图!
数据可以读出来,程序也可以继续往下执行,但只能按F6单步执行,如果按F8,会弹出如下信息:
[C66xx_0] ti.sysbios.knl.Task: line 360: E_stackOverflow: Task 0x863ea8 stack overflow.
xdc.runtime.Error.raise: terminating execution
我通过ROV没有找到 0x863ea8 的任务,但有2个任务的stack是放到HeapMap范围的,可能因为这个原因才弹出的stack overflow错误,我调整一下任务的stack位置再试一试吧。