Hello,
We use IPC to Synchronous 8 cores.core0 send IPC to others and other cores wait for this to step into next operation,then wait for core0's IPC again(It is a cycle).
The problem is when core0 send a IPC to other 7 core,it seems some cores receive it twice----it means they receive it and do the operation,then receive it again,at the same time core0 only send IPC for 1 time.We make sure that we clear the IPC after receiving.
Then we insert a delay(2500 cycles) between sending IPC to one core and next core, this error disapper. So we guess that the IPC sended to one core affect other core.You can understand that delay is not a good way to solve this,so we want to know what cause all of this and if we have better way to solve that. Code is following:
send:IPC:CSL_IPC_genGEMInterrupt()
receive IPC:CSL_IPC_IsGEMInterruptAckSet()
clear IPC after receiving:CSL_IPC_ClearGEMInterruptSource()