HI,
I'm adding messageq in my original project to make it run on multicores.
But I find that my .text is too large to fit into L2SRAM, and if it loaded on DDR,then every core shared a same copy of .out and cores will corrupt when running together.
So I copied my original project and add messageq on two projects which will generate two .out to load on core0 and core1.
I added ipc_start on both projects and heapBufMP_create on core0's project and heapBufMP_open on core1's project. The creation is succeed but open keeps returning HeapBufMP_E_NOTFOUND. I put the open in a bios task, but why it can't get the handle of heap created by core0 on another project.1 what's wrong?
Then I created a single common.c on core0's project and add a common.c on core1's project which links to core0's common.c . Now open works fine. I only put the heap create and open and messageq create and open in common.c. I want to get and put in other source files in both projects.Like below:
common.c
{
if(core0) heapBufMP_create();
else heapBufMP_open();
.........
messageq_create();
messageq_open();
if(core0) master();
else slave();
}
master() defines in core0's project performs put and slave() defines in core1's project performs get.But both project can't compile right. I declared master and slave as externs but I got error says undefined master or slave.
2. Is it ok to do like above ,I mean share a common.c and perform get and put on other source files.
I'm really really in a hurry , PLEASE HELP!
thank you .