Hello,
Im developing communication between both ARM and DSPs of the KeyStone II device (TCI6638) using MessageQ and Shared Memory. The idea is to use only the MessageQ module to send a pointer from Shared Memory to another core.
For now, the ARM side just has the main which calls Ipc_start() and a dummy function which waits for a message from the DSP side.
THe DSP side has a Task and its main function has Ipc_start() as well, but the most important thing is that when I execute it the next error appears:
ti.sdo.ipc.heaps.HeapMem: line 948: assertion failure: A_noHeap: Region has no heap
xdcuntime.Error.raise: terminating execution
Reading in this forum I found someone post that is required to call Ipc_start() in order to initialized the shared memory regions objects. Therefore Im wondering why the error still appears, if I have in both sides (ARM, DSP) the call to Ipc_start(). I use another source file (helper.h which I include of course in the principal .c) in the DSP, to initialize the heaps and their values. So resuming I have in the main the Ipc_start(), then I create the Task, and inside this Task I call two functions (inside helper.h) that are in charge of the heaps initialization.
In my .cfg I also have this: BIOS.addUserStartupFunction("&IpcMgr_ipcStartup");
without this the Ipc_start() in the ARM side always fails.
Im using SYS/BIOS 6.37, IPC 3.00.04.29 and the MCSDK 3.00.03.15.
Any help regarding this issue is welcome. Thank you in advanced for it!
Best regards,
Ronny