TI中文支持网
TI专业的中文技术问题搜集分享网站

TDA4VM: tiovx的ipc通信是N2N的吗?

Part Number:TDA4VM

我在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的专家能帮忙解释一下。

 

Cherry Zhou:

您的问题我们需要升级到英文论坛看下,链接如下:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1243210/tda4vm-ic-communication-of-tiovx

,

霄 吴:

标题是不是打错了,应该是“ipc communication”, 而不是"ic communication"

,

Cherry Zhou:

您好,请参阅以下答复:

在 tiovx 中,是按照如下流程执行的:

要实际看到这一点,您可以在为 A72和其他内核启用 IPC 调试宏的情况下运行 tiovx 的以下教程:

1. 启用 the Macro APP_IPC_DEBUG in ${PSDKRA}/vision_apps/utils/ipc/src/app_ipc_linux_priv.h

2. 启用 the Macro APP_IPC_DEBUG in ${PSDKRA}/vision_apps/utils/ipc/src/app_ipc_rtos.c

3. 使用以下步骤来运行 TIOVX User Guide: vx_tutorial_graph_image_gradients.c File Reference

On evm : in /opt/vision_apps run source ./vision_apps_init.sh

After this please run ./vx_app_tutorial.out

Select the option 2: Graph

After this Select option 1: Graph with multiple targets

在这组log中,您可以跟踪 IPC 的 debug logs,并查看在从目标移动到目标时,从哪个内核发送消息。 

,

霄 吴:

从您的这个图上看,这个Target1和Target2,对应到我的测试就是DSP0和DSP1,那么从图上看,这个DSP0是直接给DSP1发IPC消息了,没有经过host的参与,我这样理解对吗?

,

Cherry Zhou:

对的,是这样的。

,

霄 吴:

谢谢

,

霄 吴:

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: tiovx的ipc通信是N2N的吗?
分享到: 更多 (0)