我在tda4上测试tiovx的node执行顺序,测试是这样的:NodeA(DSP0) -> NodeB(DSP1) -> NodeC(DSP0)
做这样的测试,就是想看一下在vxVerifyGraph之后host参与了几次ipc通信,本来设想的是一共6次:
1.hostSendIpcToDSP0
2.hostReceiveIpcFromDSP0
3.hostSendIpcToDSP1
4.hostReceiveIpcFromDSP1
5.hostSendoIpcToDSP0
6.hostReceiveIpcFromDSP0
结果,整个vxScheduleGraph过程只看到以下两步:
1.hostSendIpcToDSP0
6.hostReceiveIpcFromDSP0
这个很让我吃惊,如果3个Node都在DSP0上,我认为host只需要以上两步。不过我的测试是把3个Node分配到了两个DSP上,我想怎么样host也需要参与6次。结果出乎意料
所以,我想请教的是,tda4上的每个CPU上的ipc通信是N2N的吗?也即DSP0可以直接给DSP1发IPC消息,这样就不需要host在中间参与,只需要在开始和结尾处参与即可。
希望TI的专家能帮忙解释一下。
