This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

J784S4XEVM: DSP C71x cannot load success on startup on TDA4VH custom board

Part Number: J784S4XEVM
Other Parts Discussed in Thread: TDA4VH

Tool/software:

Hi TI experts,
We create custom board for tda4vh, and have problem for load firmware and start dsp core in tda4vh with bellow log for dmesg

[    6.143211] virtio_rpmsg_bus virtio0: rpmsg host is online
[    6.162938] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[    6.178962] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
root@j784s4-evm:/dev# dmesg | grep remoteproc
[    5.983245] k3-dsp-rproc 64800000.dsp: configured DSP for remoteproc mode
[    5.999337] remoteproc remoteproc0: 64800000.dsp is available
[    6.005207] k3-dsp-rproc 64800000.dsp: register pm nitifiers in remoteproc mode
[    6.031512] k3-dsp-rproc 65800000.dsp: configured DSP for remoteproc mode
[    6.046246] remoteproc remoteproc1: 65800000.dsp is available
[    6.060732] k3-dsp-rproc 65800000.dsp: register pm nitifiers in remoteproc mode
[    6.083252] remoteproc remoteproc2: 41000000.r5f is available
[    6.092001] k3-dsp-rproc 66800000.dsp: configured DSP for remoteproc mode
[    6.096674] remoteproc remoteproc2: attaching to 41000000.r5f
[    6.103446] remoteproc remoteproc3: 66800000.dsp is available
[    6.115632] k3-dsp-rproc 66800000.dsp: register pm nitifiers in remoteproc mode
[    6.156239] k3-dsp-rproc 67800000.dsp: configured DSP for remoteproc mode
[    6.163967] remoteproc remoteproc2: remote processor 41000000.r5f is now attached
[    6.171421] remoteproc remoteproc4: 67800000.dsp is available
[    6.171489] k3-dsp-rproc 67800000.dsp: register pm nitifiers in remoteproc mode
[    6.234917] remoteproc remoteproc5: 41400000.r5f is available
[    6.240758] remoteproc remoteproc5: attaching to 41400000.r5f
[    6.246541] remoteproc remoteproc5: rsc table is truncated
[    6.252048] remoteproc remoteproc5: Failed to process resources: -22
[    6.267077] remoteproc remoteproc5: releasing 41400000.r5f
[    6.280117] remoteproc remoteproc2: detached remote processor 41000000.r5f
[    6.331360] remoteproc remoteproc2: releasing 41000000.r5f
[    6.358583] remoteproc remoteproc0: powering up 64800000.dsp
[    6.363497] platform 5c00000.r5f: configured R5F for remoteproc mode
[    6.367313] remoteproc remoteproc0: Booting fw image j784s4-c71_0-fw, size 17554880
[    6.381527] remoteproc remoteproc0: unsupported resource 65538
[    6.390378] remoteproc remoteproc2: 5c00000.r5f is available
[    6.395161] remoteproc remoteproc0: bad phdr da 0xb2100000 mem 0x98
[    6.400912] remoteproc remoteproc2: Direct firmware load for pdk-ipc/ipc_echo_test_mcu2_0_release_strip.xer5f failed with error -2
[    6.407065] remoteproc remoteproc0: Failed to load program segments: -22
[    6.418795] remoteproc remoteproc2: powering up 5c00000.r5f
[    6.431629] remoteproc remoteproc2: Direct firmware load for pdk-ipc/ipc_echo_test_mcu2_0_release_strip.xer5f failed with error -2
[    6.448501] remoteproc remoteproc2: request_firmware failed: -2
[    6.714719] remoteproc remoteproc1: powering up 65800000.dsp
[    6.720401] remoteproc remoteproc1: Booting fw image j784s4-c71_1-fw, size 17554288
[    6.728329] remoteproc remoteproc1: unsupported resource 65538
[    6.734169] remoteproc remoteproc1: bad phdr da 0xb4100000 mem 0x98
[    6.740430] remoteproc remoteproc1: Failed to load program segments: -22
[    6.831911] remoteproc remoteproc3: powering up 66800000.dsp
[    6.841461] remoteproc remoteproc3: Booting fw image j784s4-c71_2-fw, size 17554288
[    6.856971] remoteproc remoteproc3: unsupported resource 65538
[    6.871431] remoteproc remoteproc3: bad phdr da 0xb6100000 mem 0x98
[    6.882401] remoteproc remoteproc4: powering up 67800000.dsp
[    6.882411] remoteproc remoteproc4: Booting fw image j784s4-c71_3-fw, size 17554296
[    6.882636] remoteproc remoteproc4: unsupported resource 65538
[    6.882650] remoteproc remoteproc4: bad phdr da 0xb8100000 mem 0x98
[    6.882653] remoteproc remoteproc4: Failed to load program segments: -22
[    6.883678] remoteproc remoteproc3: Failed to load program segments: -22
[    8.416653] platform 5e00000.r5f: configured R5F for remoteproc mode
[    8.417430] remoteproc remoteproc5: 5e00000.r5f is available
[    8.457946] remoteproc remoteproc5: powering up 5e00000.r5f
[    8.457960] remoteproc remoteproc5: Booting fw image j784s4-main-r5f1_0-fw, size 150752
[    8.458433] remoteproc remoteproc5: bad phdr da 0xa5100000 mem 0x8c
[    8.458439] remoteproc remoteproc5: Failed to load program segments: -22
[    8.458630] platform 5f00000.r5f: configured R5F for remoteproc mode
[    8.459559] remoteproc remoteproc6: 5f00000.r5f is available
[    8.468401] remoteproc remoteproc6: powering up 5f00000.r5f
[    8.468412] remoteproc remoteproc6: Booting fw image j784s4-main-r5f1_1-fw, size 150752
[    8.468810] remoteproc remoteproc6: bad phdr da 0xa6100000 mem 0x8c
[    8.468816] remoteproc remoteproc6: Failed to load program segments: -22
[    8.470100] platform 5900000.r5f: configured R5F for remoteproc mode
[    8.471048] remoteproc remoteproc7: 5900000.r5f is available
[    8.488443] remoteproc remoteproc7: powering up 5900000.r5f
[    8.488455] remoteproc remoteproc7: Booting fw image j784s4-main-r5f2_0-fw, size 478460
[    8.488892] remoteproc remoteproc7: bad phdr da 0xa7100000 mem 0x8c
[    8.488898] remoteproc remoteproc7: Failed to load program segments: -22
[    8.489084] platform 5a00000.r5f: configured R5F for remoteproc mode
[    8.489771] remoteproc remoteproc8: 5a00000.r5f is available
[    8.500340] remoteproc remoteproc8: powering up 5a00000.r5f
[    8.500350] remoteproc remoteproc8: Booting fw image j784s4-main-r5f2_1-fw, size 150752
[    8.500728] remoteproc remoteproc8: bad phdr da 0xa8100000 mem 0x8c
[    8.500734] remoteproc remoteproc8: Failed to load program segments: -22



and these for vpac test app log

APP: Init ... !!!
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=5) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
_rpmsg_char_find_rproc: 5c00000.r5f does not have any virtio devices!
_rpmsg_char_find_rproc: 5d00000.r5f is either not probed or not a remoteproc!
_rpmsg_char_find_rproc: 64800000.dsp does not have any virtio devices!
_rpmsg_char_find_rproc: 65800000.dsp does not have any virtio devices!
_rpmsg_char_find_rproc: 66800000.dsp does not have any virtio devices!
_rpmsg_char_find_rproc: 67800000.dsp does not have any virtio devices!
IPC: ERROR: Unable to create TX channels for CPU [mcu2_0] !!!
IPC: ERROR: Unable to create TX channels for CPU [mcu2_1] !!!
IPC: ERROR: Unable to create TX channels for CPU [c7x_1] !!!
IPC: ERROR: Unable to create TX channels for CPU [c7x_2] !!!
IPC: ERROR: Unable to create TX channels for CPU [c7x_3] !!!
IPC: ERROR: Unable to create TX channels for CPU [c7x_4] !!!
IPC: Init ... Done !!!
APP: ERROR: IPC init failed !!!
REMOTE_SERVICE: Init ... !!!
_rpmsg_char_find_rproc: 5c00000.r5f does not have any virtio devices!
_rpmsg_char_find_rproc: 5d00000.r5f is either not probed or not a remoteproc!
_rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio0.rpmsg_chrdev.-1.21
_rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio1.rpmsg_chrdev.-1.21
_rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio2.rpmsg_chrdev.-1.21
_rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio3.rpmsg_chrdev.-1.21
_rpmsg_char_find_rproc: 64800000.dsp does not have any virtio devices!
_rpmsg_char_find_rproc: 65800000.dsp does not have any virtio devices!
_rpmsg_char_find_rproc: 66800000.dsp does not have any virtio devices!
_rpmsg_char_find_rproc: 67800000.dsp does not have any virtio devices!
REMOTE_SERVICE: Init ... Done !!!


Thanks,
BRs


  • Hi,

    I will check this and get back to you.

    Regards,
    Sivadeep

  • Hi,
    Could you please confirm which SDK version you are using and the steps you followed to build and load it?

    Regards,
    Shabary

  • I using sdk 9, build in yocto and load using uboot cmd

  •  I dont know, when i try increase ddr share from 5MB to 15 MB
            vision_apps_c71_0_memory_region: vision-apps-c71_0-memory@b2100000 {
                compatible = "shared-dma-pool";
                reg = <0x00 0xb2100000 0x00 0x00f04000>;
                no-map;
            };

    It can load success, do you have  any idea ?

  • Hi,
    In the above log the size of your booting image is mentioned more than 5 MB.So the region is insufficient to hold the entire firmware image.

      vision_apps_c71_0_memory_region: vision-apps-c71_0-memory@b2100000 {
                compatible = "shared-dma-pool";
                reg = <0x00 0xb2100000 0x00 0x00f04000>;
                no-map;
            };

    This is the main memory carve-out used for loading and running the DSP firmware, so if the size defined is too small you will face error in loading the binary.To fix this, ensure that the carve-out size is larger than the firmware image, with some margin.

    You can refer " ti-processor-sdk-rtos-j784s4-evm-10_01_00_04\vision_apps\platform\j784s4\rtos\k3-j784s4-rtos-memory-map.dtsi" file. This file contains the recommended memory regions used by various cores (R5F, C71, C66, etc.) when building Processor SDK RTOS.



    Regards,
    Shabary S Sundar