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.

Storing values to MSMCSRAM blocks Notify_sendEvent()

Other Parts Discussed in Thread: SYSBIOS

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