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.

SYSLIB中msgCom Unit test无法建立shared heap

开发环境: CCS 5.4 with SC-MCSDK 2_01_00_01

板子: TCI6614

 

安装完SC-MCSDK后,从SYSLIB的目录下可run Script来建立msgComunit test

我有试着跑下列这两个project,来测试Core to Core的沟通

1.Core0_msgCom_tmdxevm6614lxe_UnittestProject_little

2.Core1_msgCom_tmdxevm6614lxe_UnittestProject_little

 

load Core0Core1后执行时,console会出现下面的讯息:

--

[C66xx_0] ***********************************
**** Message Communicator Test ****
***********************************
Debug: RM Initialization was successful
Debug: Inserting MSMC Memory Region (Core0-MSMC) @ Index 0 Start Index 0
Debug: Inserting LOCAL Memory Region (Core0-Local) @ Index 1 Start Index 128
Debug: Inserting LOCAL Memory Region (Core1-Local) @ Index 2 Start Index 256
Debug: Inserting DDR3 Memory Region (Core1-DDR3) @ Index 3 Start Index 384
Debug: RM LLD Revision: 01.00.00.15:Mar 26 2013:17:03:10
Debug: QMSS LLD Revision: 01.00.03.20:Mar 26 2013:17:02:56
Debug: CPPI LLD Revision: 01.00.02.04:Mar 26 2013:17:02:34
Error: Unable to create shared heap error code -3
[C66xx_1] Debug: RM Startup was successful

--

 

Pktlib_createHeap() function会回传错误,错误码-3表示resource error,程序代码的片段如下:

请教各位高手知道如何解决吗? 感谢~~

 

--

/* A part of main_core0.c */

/* Initialize the Shared Heaps. */
result = Pktlib_sharedHeapInit();
if(result < 0)
{
System_printf ("Error: Pktlib_sharedHeapInit %d\n", result);
return -1;
}

/* Initialize the heap configuration. */
memset ((void *)&heapCfg, 0, sizeof(Pktlib_HeapCfg));

/* Populate the heap configuration */
heapCfg.name = "MySharedHeap";
heapCfg.memRegion = ptrCfg->memRegionResponse[0].memRegionHandle;
heapCfg.sharedHeap = 1;
heapCfg.useStarvationQueue = 0;
heapCfg.dataBufferSize = TEST_MAX_DATA_SIZE;
heapCfg.numPkts = 64;
heapCfg.numZeroBufferPackets= 0;
heapCfg.dataBufferPktThreshold = 0;
heapCfg.zeroBufferPktThreshold = 0;
heapCfg.heapInterfaceTable.data_malloc = mySharedMemoryMalloc;
heapCfg.heapInterfaceTable.data_free = mySharedMemoryFree;

/* Create the Heap. */
mySharedHeapHandle = Pktlib_createHeap(&heapCfg, &errCode);
if (mySharedHeapHandle == NULL)
{
System_printf ("Error: Unable to create shared heap error code %d\n", errCode);
return -1;
}

--

x 出现错误。请重试或与管理员联系。