I have multiple cores running and when I attempt to have Core1 write to the Core0 L2 and then have Core0 read it back it does not appear. I also read it across the PCIe and it is not there as well.
(*(volatile uint32_t*)(myAddr[remoteCoreID])) = msg; //Doesn't work
If I attempt the write twice back to back I can then see the data from Core0 and across the PCIe bus.........what is happening here? How can I fix this? As i understand it this shouldn't be a cache problem. I ran into this when using MSMC but was able to invalidate the address and also remap using MPAX to get it to work. Isn't cross core L2SRAM cache coherent?
(*(volatile uint32_t*)(myAddr[remoteCoreID])) = msg;
(*(volatile uint32_t*)(myAddr[remoteCoreID])) = msg; //Works