各位TI的高手,大家好:
我在使用ti8127 rdk3.8的过程中,建立的链路运行一段时间(时间不等,一般是几个小时后或十几个小时后), SR0中的内容有时就出现异常,比如:
在ipcBitsInLink_tsk.c 中的IpcBitsInLink_putEmptyBitBufs中的如下行:
OSA_assert(SharedRegion_getPtr(pListElem->srBufPtr) == pBitBuf->addr);
这个断言就发生, 随后数据链路中断,程序挂断.
下次又出现别的地方,综合来看就是SR0中的内容出现了异常.
我的内存分配(confg.bld, 1G的内存)如下:
/* first 512MB */
var LINUX_SIZE = 166*MB;
var SR1_SIZE = 110*MB;
var VIDEO_M3_CODE_SIZE = 3*MB;
var VIDEO_M3_DATA_SIZE = 30*MB;
var DSS_M3_CODE_SIZE = 5*MB;
var DSS_M3_DATA_SIZE = 40*MB;
var DSP_CODE_SIZE = 1*MB;
var DSP_DATA_SIZE = 157*MB;
/* second 512MB */
var TILER_SIZE = 10*MB; /* Reducing this to fix Vid Frame Alloc failures. Need to fix */ /* MUST be aligned on 128MB boundary */
var CMEM_SIZE = 120*MB;
var SR2_FRAME_BUFFER_SIZE = 355*MB;
var SR0_SIZE = 20*MB;
var HDVPSS_DESC_SIZE = 2*MB;
var HDVPSS_SHARED_SIZE = 2*MB;
var NOTIFY_SHARED_SIZE = 2*MB;
var REMOTE_DEBUG_SIZE = 1*MB;
有谁能给我一些提示吗? 一般是什么原因造成SR0区域的内容乱了呢?
我原来猜想有可能SR2_FRAME_BUFFER_SIZE区域的内容溢出导致写到SR0来了,因为SR2与SR0毗连,但查找程序中在SR2中分配的内存远没有达到355M.
抓狂了好多天了...恳请大家提示下...非常感谢!!!