Part Number: TMS320F28388D
Hello
I have some questions regarding to whether the ipc registers between cm and cpu1 are atomic.
I tried to send data from CM core to CPU1 core by using ipc register that is:
- CPU1 read data from CMTOCPUxIPCRECVADDR register.
- CM write data to CMTOCPUxIPCSENDADDR register.
Most of the time, I'm able to get the correct data sent from CM to CPU1, but there's some occasion that CPU1 read some incorrect data, and after reading the register again, it reads the correct data.
Example from the scenario is like
CM write 256 to CMTOCPUxIPCSENDADDR register
CPU1 read from CMTOCPUxIPCRECVADDR register, get some random value (it seems random and has no pattern to it)
CPU1 read from CMTOCPUxIPCRECVADDR register again, get the correct value of 256.
I also saw something like that happened in other communication CPU1 -> CM
Not sure if it's the case that when CM and CPU1 try to access the register at the same, and if register is not atomic, data doesn't completely change to correct value.
Please let me know if you find out anything about this problem
Thanks