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.

AM2634: how to access shared memory and protect it using spinlock

Part Number: AM2634
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi Team,

I am trying to use shared memory beteen Core 0 and 1. I have refered spinlock example from resource explorer. But, it is only changing gUserSharedMem value.

/* Get address after translation translate */
spinlockBaseAddr = (uint32_t) AddrTranslateP_getLocalAddr(SPINLOCK_BASE_ADDR);

/* Mutex for local thread safe operation on spinlock */
status = SemaphoreP_constructMutex(&mutexObj);
DebugP_assert(status==SystemP_SUCCESS);

for(loopCnt = 0; loopCnt < SPINLOCK_TEST_LOOPCNT; loopCnt++)
{
app_ipc_sharemem_lock(&mutexObj, spinlockBaseAddr, lockNum);

/*
* Critical section goes here!!
*/
/* Read/modify shared memory */
gUserSharedMem++;

app_ipc_sharemem_unlock(&mutexObj, spinlockBaseAddr, lockNum);
}

But I want to understand how to modify, write and read data into shared memory?

What will be the shared memory location? 

Does RTOS_NORTOS_IPC_SHM_MEM  used for shared memory?

How can we also have shared memory between core 0 and 2?