工具与软件:
您好!
我想了解 IPC 的具体工作方式、并让基本系统运行。 从我的视觉应用基本映像中、我的目标是使用 ipc_echo_test 映像替换所有子核映像、并确认所有子核映像都使用 rpmsg_char_simple 进行通信。
我已将所有固件链接到各自的图像:
root@j722s-evm:/lib/firmware# ls -l lrwxrwxrwx 1 weston weston 65 Oct 25 2024 j722s-c71_0-fw -> /lib/firmware/ti-ipc/j722s/ipc_echo_test_c7x_1_release_strip.xe71 lrwxrwxrwx 1 weston weston 68 Mar 9 2018 j722s-c71_0-fw-sec -> /usr/lib/firmware/vision_apps_evm/vx_app_rtos_linux_c7x_1.out.signed lrwxrwxrwx 1 weston weston 65 Oct 25 2024 j722s-c71_1-fw -> /lib/firmware/ti-ipc/j722s/ipc_echo_test_c7x_2_release_strip.xe71 lrwxrwxrwx 1 weston weston 68 Mar 9 2018 j722s-c71_1-fw-sec -> /usr/lib/firmware/vision_apps_evm/vx_app_rtos_linux_c7x_2.out.signed lrwxrwxrwx 1 weston weston 67 Oct 24 2024 j722s-main-r5f0_0-fw -> /lib/firmware/ti-ipc/j722s/ipc_echo_test_mcu3_0_release_strip.xer5f lrwxrwxrwx 1 weston weston 69 Mar 9 2018 j722s-main-r5f0_0-fw-sec -> /usr/lib/firmware/vision_apps_evm/vx_app_rtos_linux_mcu2_0.out.signed lrwxrwxrwx 1 weston weston 71 Mar 9 2018 j722s-mcu-r5f0_0-fw -> /usr/lib/firmware/ti-ipc/j722s/ipc_echo_test_mcu2_0_release_strip.xer5f lrwxrwxrwx 1 weston weston 78 Mar 9 2018 j722s-mcu-r5f0_0-fw-sec -> /usr/lib/firmware/ti-ipc/j722s/ipc_echo_test_mcu2_0_release_strip.xer5f.signed
我已经确认为这些映像保留了正确的存储器区域:
root@j722s-evm:/lib/firmware# dmesg | grep Reserved [ 0.000000] Reserved memory: created CMA memory pool at 0x00000009c8000000, size 896 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
但是、在启动期间、系统无法初始化 c7x 内核:
[ 11.849083] k3-dsp-rproc 7e000000.dsp: assigned reserved memory node c7x-dma-memory@a3000000 [ 11.858477] k3-dsp-rproc 7e000000.dsp: configured DSP for IPC-only mode [ 11.866588] remoteproc remoteproc0: 7e000000.dsp is available [ 11.877477] remoteproc remoteproc0: attaching to 7e000000.dsp [ 11.885134] videodev: Linux video capture interface: v2.00 [ 11.887308] remoteproc remoteproc0: carveout rsc has non zero reserved bytes [ 11.890760] OF: graph: no port node found in /bus@f0000/dss@30220000/oldi-txes/oldi@1/ports [ 11.900706] remoteproc remoteproc0: Failed to process resources: -22 [ 11.922267] k3-dsp-rproc 7e000000.dsp: error -EINVAL: failed to add register device with remoteproc core [ 11.933600] k3-dsp-rproc: probe of 7e000000.dsp failed with error -22 [ 11.953474] remoteproc remoteproc0: releasing 7e000000.dsp [ 11.965282] k3-dsp-rproc 7e200000.dsp: assigned reserved memory node c7x-dma-memory@a4000000 [ 11.978734] k3-dsp-rproc 7e200000.dsp: configured DSP for IPC-only mode [ 11.994471] remoteproc remoteproc0: 7e200000.dsp is available [ 11.995411] platform 79000000.r5f: configured R5F for IPC-only mode [ 12.001356] remoteproc remoteproc0: attaching to 7e200000.dsp [ 12.007604] platform 79000000.r5f: assigned reserved memory node mcu-r5fss-dma-memory-region@a1000000 [ 12.018550] remoteproc remoteproc0: unsupported vendor resource 128 [ 12.029075] remoteproc remoteproc0: rsc table is truncated [ 12.034968] remoteproc remoteproc0: Failed to process resources: -22 [ 12.049025] OF: graph: no port node found in /bus@f0000/dss@30220000/oldi-txes/oldi@1/ports [ 12.073072] remoteproc remoteproc1: 79000000.r5f is available [ 12.081261] remoteproc remoteproc1: attaching to 79000000.r5f [ 12.105322] k3-dsp-rproc 7e200000.dsp: error -EINVAL: failed to add register device with remoteproc core [ 12.115149] OF: graph: no port node found in /bus@f0000/dss@30220000/oldi-txes/oldi@1/ports [ 12.123763] k3-dsp-rproc: probe of 7e200000.dsp failed with error -22 [ 12.136672] remoteproc remoteproc0: releasing 7e200000.dsp
随后无法通过 IPC 进行通信。
我肯定是误解了一些简单的东西,但文件是相当少. 请使用任何指针。