Hi,
I am using Notify_sendEvent() to pass messages from CORE_1 to CORE_2. This works fine until I write values in a variable which is stored on MSMCSRAM, x_ll_shared (this variable is *not* shared between cores, nor ever intended to despite the name).
This is defined in the .cmd files by
SECTIONS
{
.x_ll > MSMCSRAM
}
and in the main code file by:
#pragma DATA_SECTION(x_ll_shared,".x_ll_shared")
#pragma DATA_ALIGN (x_ll_shared, 16)
__float2_t x_ll_shared[1][LONG_BUFSIZE];
where LONG_BUFSIZE is 8*15360 (big!)
Before storing values to x_ll_shared, the message is sent by CORE_1 every 1ms (from within a callback which itself is triggered from a message from CORE_0) and received by CORE_2 just fine. Afterwards storing values to x_ll_shared, using breakpoints, I can see the message is still being sent but never received.
Looking at the .map file, the values are at
0c001000 0c001000 0012c000 00000000 rw-
0c001000 0c001000 0010e000 00000000 rw- .x_ll_shared
0c10f000 0c10f000 0001e000 00000000 rw- .x_ll
The SharedRegion for IPC is defined in the .cfg by
var SHAREDMEM = 0x0C12C400;
var SHAREDMEMSIZE = 0x00010000;
SharedRegion.setEntryMeta(0,
{ base: SHAREDMEM,
len: SHAREDMEMSIZE,
ownerProcId: 0,
isValid: true,
name: "DDR2_RAM",
});*/
Although *strangely* there is *no* lines in .map along the lines of:
ti.sdo.ipc.SharedRegion_0
x y z NOLOAD_SECTION.
a b c --HOLE--
as I thought there should be? Is there any chance that by writing to x_ll_shared data, I am overwriting some pointers used for IPC?? Any other ideas? It seems to me that the SharedRegion is in MSMCSRAM, although not in the range of x_ll_data?
Help :)
David