Hi Team,
The customer wants to synchronize R5F and C66X using IPC after 1D FFT is processed in function DPC_ObjectDetection_execute to achieve the purpose of backsinking compressed 1D FFT data in R5F.
In the DPC_ObjectDetection_execute, the IPC signal is sent to R5F0_0 using the function RPMessage_send after the function DPU_RangeProcHWA_process. header.id used is 10. Also modify the value of DPM_MessageId_MAX to be 11 and add a function in gDPMMessageFxnTable that handles header.id=10. In this function, an IPC signal will be sent by R5F0_0 to the C66X for synchronization.
The R5F receives the IPC signal from header.id=10 from the C66X at every radar frame processing, but when the IPC signal is sent to the C66X using the corresponding processing function, the C66X of the am273x does not function properly after 2 frames after power-up. In frame 3, R5F0_0 cannot receive the synchronization signal for C66X.
Since the customer created a task on C66X to receive IPC signals instead of in the context of DPM_execute, the judgment is made in function DPM_pipeSend -- the semaphore will not be released when header.id=11, SemaphoreP_post&PTR->semaphoreHandle); the C66X is not operating correctly after frame 2.
What might be the possible cause? And will there be other way to synchronize the R5F and C66X? Thanks.
Best Regards,
Cherry