工程师,你好
我想要在函数DPC_ObjectDetection_execute中处理完1D FFT后使用IPC 进行R5F和C66X的同步,达到在R5F实现回灌压缩1D FFT数据的目的;我在DPC_ObjectDetection_execute中函数DPU_RangeProcHWA_process后使用函数RPMessage_send函数向R5F0_0发送IPC信号,使用的header.id为10,同时修改DPM_MessageId_MAX的值为11,并在gDPMMessageFxnTable中增加了一个处理header.id=10的函数,在该函数中将由R5F0_0向C66X发送一个IPC信号,进行同步;测试发现,R5F在每个雷达信号帧处理时都能接收到C66X发送的header.id=10的IPC信号,但是使用对应的处理函数向C66X发送IPC信号时出现了问题,am273x的C66X在上电后运行2帧就无法正常运行了,在第3帧中,R5F0_0不能收到C66X的同步信号;由于我在C66X上创建了一个task用于接收IPC信号,而不是在DPM_execute的context下,所以我在函数DPM_pipeSend中进行了判断,当header.id=11时将不会释放信号量,SemaphoreP_post(&ptr->semaphoreHandle);C66X在第2帧以后的运行状态不正常;请问是什么原因导致的?还有没有别的方法实现R5F和C66X的同步?
谢谢