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.

AM5718: IDK-AM57xx - GateMP with Linux and RTOS

Part Number: AM5718

Hi,

I am running ti-processor-sdk-linux-rt-am57xx-evm-06.03.00.106 with Linux running on A15 and RTOS on IPU1 and DSP1.
So far I have followed the ex02_messageq and the big data example to gather information on how to implement IPC, shared memory and GateMP etc.

In order to get GateMP working I added a shared memory region as follows:


/* shared region configuration */
var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');

/* configure SharedRegion #0 (IPC) */
var SR0Mem = Program.cpu.memoryMap["SR_0"];

SharedRegion.setEntryMeta(0,
    new SharedRegion.Entry({
        name:           "SR0",
        base:           SR0Mem.base,
        len:            SR0Mem.len,
        ownerProcId:    MultiProc.getIdMeta("DSP1"),
        cacheEnable:    true,
        isValid:        true
        //createHeap:        true
    })
);

Then I added a custom resource table and on DSP1 side GateMP worked fine.
Now when I compile the same application for IPU1 and try to run it, I get the following error:

ti.sdo.ipc.GateMP: line 1176: assertion failure: A_noHeap: Region has no heap

I made sure that the same shared memory region is added on IPU1 side and tried it with different ownerProcIds and createHeap: true, but nothing solved the issue.
The only way to be able to create a GateMP instance is if I add  GateMP_Params.sharedAddr pointing to the shared memory.
If I do this I can use GateMP on IPU1. Although I am curious why on DSP side a heap on shared memory is created, meanwhile on IPU side it seems that no heap is created for regionId: 0.

How can I enable the heap on shared memory for IPU1?

Thank you for your help.

Best regards,
Nicolas Rausch