I have the following scenario:
0) OMAP-L137 EVM
1) DSPBIOS 5.41.0.6 running on DSP. Timesys Linux Running on the ARM.
2) DSP code running from L2 cache
3) DSPLINK 1.65.0 changed to draw pool memory from L3 Cache
4) L3 Cache not turned on (I haven't set the MAR bits for it in the tconf file)
5) The ARM program allocates a buffer, puts some data in it. One of these data variables is a control word.
6) The DSP looks at this control word, and when it goes high, it reads the rest of the data and processes it.
7) When done, the DSP returns the control word to 0
8) The ARM waits until this control word returns to zero and displays the results.
The problem is, Nothing happens. The control word goes high and stays high, and none of the data changes. I've got a suspicion that the ARM has cached the value, and the DSP isn't seeing it. On the dsp side of things, I do call HAL_cacheInv before reading the data and I call HAL_cacheWb when I've made my changes, but no luck.
Ideas?