Using a shared region to pass data between cores and am running into what I believe is a caching issue...
DSP: sets *ptr = -3 then sends ptr to ARM via MsgQ
ARM: sets *ptr = -2
DSP: waits on *ptr = -2 and then sets *ptr = -1
ARM: waits on *ptr = -1 and then sets *ptr = 0
If I leave DSP caching enabled DSP sees the *ptr = -2 but ARM never sees *ptr = -1
If I use
Cache_setMar( (void *)ptr, 4, Cache_Mar_DISABLE );
on DSP side DSP never sees *ptr = -2 as set by ARM...
Whats going on here?