主题中讨论的其他器件:TFP410
我正在尝试在 RTOS 和 Linux 之间运行 IPC echo 测试。
环境:
我已经刷写了 tisdk-edgeai-image-j721e-evm.wic.xz 映像。
对于 RTOS:我使用了 /lib/firmware/ti-ipc/j721e 目录中的默认 RTOS 二进制文件。 我已链接以下固件:
0 lrwxrwxrwx 1根根目录53 Nov 29 05:16 j7-main-r5f0_0-FW -> ti-ipc/j721e/ipc_echo_test_mcu2_0_release_strip.xer5f
0 lrwxrwxrwx 1根根目录53 Nov 29 05:19 J7-main-r5f0_1-FW -> ti-IPC/j721e/IPC_echo_test_MCU2_1_release_strip.xer5f
0 lrwxrwxrwx 1根根目录53 Nov 29 05:20 j7-main-r5F1_0-FW -> ti-IPC/j721e/ipc_echo_test_mcu3_0_release_strip.xer5f
0 lrwxrwxrwx 1根根目录53 Nov 29 05:19 J7-main-r5F1_1-FW -> ti-IPC/j721e/ipc_echo_test_mcu3_1_release_strip.xer5f
对于 Linux:我使用 /usr/bin.中的默认 rpmsg_char_simple 二进制文件
观察结果:
根据 rpmsg_char_simple codebase (ti-rpmsg-char/include/rproc_id.h)中的枚举、我需要与 R2 (R5F_MAIN0_0)、R3 (R5F_MAIN0_1)、R4 (R5F_MAIN1_0)、R5 (R5F_MAIN1_1)进行通信
enum rproc_id{
R5F_MCU0_0 = 0、
R5F_MCU0_1、
R5F_MAIN0_0、
R5F_MAIN0_1、
R5F_MAIN1_0、
R5F_MAIN1_1、
DSP_C66_0、
DSP_C66_1、
DSP_C71_0、
M4F_MCU0_0、
DSP_C71_1、
R5F_MAIN2_0、
R5F_MAIN2_1、
DSP_C71_2:
DSP_C71_3:
R5F_WKUP0_0、
RPROC_ID_MAX、
};
问题:
但在运行命令 rpmsg_char_simple -r 时 -n10对于除2之外的任何 ID , 我要么得到 Virtio 设备 未 创建,要么匹配 rpmsg_ctrl 设备未创建错误。
对于 R3:
_rpmsg_char_find_ctrldev:找不到与 virtio5.rpmsg_chrdev.-1.14匹配的 rpmsg_ctrldev 器件
对于 R4:
_rpmsg_char_find_rproc:5e000.r5f 没有任何 Virtio 设备!
对于 R5:
_rpmsg_char_find_rproc:5f000.r5f 没有任何 Virtio 设备!
额外信息:
我对 src src 代码(ti-processor-sdk-rtos-j721e-evm-08_01_00_13/pdk_jacinto_08_01_00_36/packages/ti/drv/ipc/examples/common/ipc_testsetup.c)和 Linux 代码(ti-msg-char/rpmsg_char.c)进行了一些详细介绍:
如果创建了 virtio 设备、就必须存在这样的目录: /sys/devices/platform/bus@100000/BUS@100000:r5fss@5c000000000/5d00000.r5f/remoteproc/remoteproc/remoteproc5/rproc-virtio.5.auto/virtio5
还有一个名为 virtio5.rpmsg_chrdev.-1.14 从而拥有匹配的 rpmsg_ctrl 器件。
目标/问题:
如何确保 创建了 Virtio 设备和 rpmsg_ctrl 设备?
或
如何确保创建上述目录/负责创建这些目录结构的是什么?