一、打开主核创建的heapBuf
/* Open the heap created by the other processor. Loop until opened. */
do {
status = HeapBufMP_open(HEAP_NAME, &heapHandle);
if (status < 0) {
Task_sleep(1);
}
} while (status < 0);
为什么要打开主核创建的heapBuf,因为从核创建的messageQ也应该在这个heap中统一调度管理。
二、创建messageQ(slave)
/* Register this heap with MessageQ */
MessageQ_registerHeap((IHeap_Handle)heapHandle, HEAPID);
/* Create the local message queue */
messageQ = MessageQ_create(localQueueName, NULL);
if (messageQ == NULL)
{
System_abort("MessageQ_create failed\n" );
}