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.

请教CCS上如何使用file操作函数,Heap应该如何设置?

Other Parts Discussed in Thread: SYSBIOS

各位专家好!
在CCS5.3下,使用6670EVM测试Tcp3d模块,通过file函数读取PC上的测试数据,遇到heap资源耗尽,请教各位专家,应如何解决。
现象如下:
1 开始时:Heap空闲大小为0x1fff060;
2 经过fopen:Heap空闲大小降为0x83efc0;
3 再经过fscanf:heap空闲大小降为0;
4 后来经过sprintf时:heap空闲大小直接变红了,没有数值;
附件有相关截图!

HeapMem.rar
  • 文件读写不会消耗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位置再试一试吧。

  • 已经解决了task stack over flow的问题,但还是不太明白以下几点,希望能够得到指导:

    1 为何file操作时为何会大量消耗heapMem?

    2 调用file相关操作,需要注意什么吗?

    有相关的资料吗,如果有,麻烦上传一下,谢谢!

  • 你好Rambo,我用的是C6657,在跑程序时也遇到了跟你一样的问题,

    [C66xx_0] ti.sysbios.knl.Task: line 360: E_stackOverflow: Task 0x863ea8 stack overflow.
    xdc.runtime.Error.raise: terminating execution。

    请问你是如何解决这个问题的,谢谢