Other Parts Discussed in Thread: OMAPL138, SYSBIOS
Hi,
I am trying to share a variable declared on shared RAM between ARM and DSP on OMAPL138.
Here variable always points to 0 on DSP.
Details:
ARM:
uint32_t *SharedValue = (uint32_t *)(0x8001FCC0)
DSP: SYS/BIOS
volatile uint32_t *SharedValue = (uint32_t *)(0x8001FCC0)
taskMain()
{
System_printf("hello");
CurrentValue = *SharedValue;
}
I have declared a variable on shared RAM on both ARM and DSP as a global variable.
ARM side I am writing to this value in an ISR.
DSP side SYS/BIOS is running and in one of the tasks I am reading this sharedValue.
Thie value always points to 0.
I have put breakpoint on ARM and I can see value getting updated in memory in ARM.
But on DSP, if I put a breakpoint say on line System_printf("Hello") and if I check memory for the address 0x8001FCC0, it shows the updated value.
But when the line CurrentValue = *SharedValue is executed, the value of 0x8001FCC0 in memory becomes 0 and I get 0 in CurrentValue.
What could be wrong?
thanks, Durga