About the SRAM4 access size from M4 and A7 cores
Many thanks for your help!
Currently, we are using the SRAM4 memory as a shared RAM mapped between the M4 and the A7 cores.
We have a Linux application that writes full 32bit values from the A7 core, as in the following snippet:
*(volatile uint32_t *)p_sram4_mapped = 0x1441cddc; // (core A7)
*(volatile uint32_t *)p_sram4_mapped = 0xa55a3663; // (core A7)
...
the M4 core application that uses the same shared memory may read from it a 32bit word comprised of 16bit values coming from different A7 write operations, e.g. reading this way:
const uint32_t read_value = *(volatile uint32_t *)p_sram4_mapped; // (core M4)
read_value could be OK, e.g. 0x1441cddc, 0xa55a3663
but read_value could be also a 16-bit hybrid, e.g. 0x14413663, 0xa55acddc
The same is true also in the vice versa case when M4 writes and A7 reads.
I wonder if there is a way to make the read/write operations from the A7/M4 cores atomic on a 32-bit size instead of a 16-bit size.
Many thanks again for your help!
