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.

TDA4VM: Request for IPC communication sample for TI TDA4VM J721E (Linux Environment)

Part Number: TDA4VM


Tool/software:

Hello IT,

I am working with the TI TDA4VM J721E architecture and would like to load R5F and C7x DSP binary firmware and tried to test the default example program for all available cores (R5F, and C7x DSP) through IPC mechanism.

We are referenced below link for symbolic link the binary firmware. 

https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/10_00_00_08/exports/docs/linux/Foundational_Components_IPC_J721E.html 

Please help the below queries:

  • We tried to execute the default examples (rpmsg_char_simple &rpmsg_client_sample). we are not getting the excepted output as mentioned in the TI website.
  • We are getting output for remote proc (rproc_id :R5F_MCU0_0) and for remaining cores, we are not getting the output.
  • I have attached the screenshot and log. 

root@j721e-evm:~# rpmsg_char_simple -r 1 -n 2 -p 13
_rpmsg_char_find_rproc: 41400000.r5f is either not probed or not a remoteproc!
Can't create an endpoint device: No such file or directory
TEST STATUS: FAILED
root@j721e-evm:~# rpmsg_char_simple -r 1 -n 2 -p 14
_rpmsg_char_find_rproc: 41400000.r5f is either not probed or not a remoteproc!
Can't create an endpoint device: No such file or directory
TEST STATUS: FAILED
root@j721e-evm:~# rpmsg_char_simple -r 2 -n 2 -p 14
_rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio3.rpmsg_chrdev.-1.14
Can't create an endpoint device: Invalid argument
TEST STATUS: FAILED
root@j721e-evm:~# rpmsg_char_simple -r 2 -n 2 -p 13
Created endpt device rpmsg-char-2-1061, fd = 4 port = 1027
Exchanging 2 messages with rpmsg device rpmsg-char-2-1061 on rproc id 2 ...

Sending message #0: hello there 0!
ccccc^C
Clean up and exit while handling signal 2
Application did not close some rpmsg_char devices
root@j721e-evm:~# clear
root@j721e-evm:~# rpmsg_char_simple -r 0 -n 2 -p 14
Created endpt device rpmsg-char-0-1068, fd = 4 port = 1025
Exchanging 2 messages with rpmsg device rpmsg-char-0-1068 on rproc id 0 ...

Sending message #0: hello there 0!
Received message #0: round trip delay(usecs) = 153835
hello there 0!
Sending message #1: hello there 1!
Received message #1: round trip delay(usecs) = 93345
hello there 1!

Communicated 2 messages successfully on rpmsg-char-0-1068

TEST STATUS: PASSED
root@j721e-evm:~# rpmsg_char_simple -r 1 -n 2 -p 13
_rpmsg_char_find_rproc: 41400000.r5f is either not probed or not a remoteproc!
Can't create an endpoint device: No such file or directory
TEST STATUS: FAILED
root@j721e-evm:~# rpmsg_char_simple -r 2 -n 2 -p 13
Created endpt device rpmsg-char-2-1071, fd = 4 port = 1027
Exchanging 2 messages with rpmsg device rpmsg-char-2-1071 on rproc id 2 ...

Sending message #0: hello there 0!
^C
Clean up and exit while handling signal 2
Application did not close some rpmsg_char devices
root@j721e-evm:~# rpmsg_char_simple -r 3 -n 2 -p 13
Created endpt device rpmsg-char-3-1073, fd = 4 port = 1026
Exchanging 2 messages with rpmsg device rpmsg-char-3-1073 on rproc id 3 ...

Sending message #0: hello there 0!
^C
Clean up and exit while handling signal 2
Application did not close some rpmsg_char devices
root@j721e-evm:~# rpmsg_char_simple -r 4 -n 2 -p 13
_rpmsg_char_find_rproc: 5e00000.r5f does not have any virtio devices!
Can't create an endpoint device: No such file or directory
TEST STATUS: FAILED
root@j721e-evm:~# rpmsg_char_simple -r 6 -n 2 -p 13
Created endpt device rpmsg-char-6-1076, fd = 4 port = 1026
Exchanging 2 messages with rpmsg device rpmsg-char-6-1076 on rproc id 6 ...

Sending message #0: hello there 0!
^C
Clean up and exit while handling signal 2
Application did not close some rpmsg_char devices
root@j721e-evm:~# rpmsg_char_simple -r 7 -n 2 -p 13
Created endpt device rpmsg-char-7-1083, fd = 4 port = 1026
Exchanging 2 messages with rpmsg device rpmsg-char-7-1083 on rproc id 7 ...

Sending message #0: hello there 0!
^C
Clean up and exit while handling signal 2
Application did not close some rpmsg_char devices
root@j721e-evm:~# rpmsg_char_simple -r 8 -n 2 -p 13
Created endpt device rpmsg-char-8-1085, fd = 4 port = 1026
Exchanging 2 messages with rpmsg device rpmsg-char-8-1085 on rproc id 8 ...

Sending message #0: hello there 0!
^C
Clean up and exit while handling signal 2
Application did not close some rpmsg_char devices
root@j721e-evm:~#

  • Hi,

    Can you please check if the softlinked binary is ipc_echo_testb or vision_apps binary?

    By default we have the vision_apps binary and this rpmsg_char_simple does not work in this case. 

    You would have to run the vision_apps example ./vx_app_arm_ipc.out to check the communication from A72 to other cores. 

    The MCU1_0 works as it is disabled in vision_apps by default.

    Regards,

    Nikhil

  • Hi,

    we are tried checking the default softlink link binary files. The corresponding sample program ( ./vx_app_arm_ipc.out ) is tested, and it's working.

    APP: Init ... !!!
      6972.069567 s: MEM: Init ... !!!
      6972.069623 s: MEM: Initialized DMA HEAP (fd=5) !!!
      6972.069754 s: MEM: Init ... Done !!!
      6972.069761 s: IPC: Init ... !!!
      6972.125894 s: IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
      6972.134392 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
      6972.138392 s:  VX_ZONE_INIT:Enabled
      6972.138400 s:  VX_ZONE_ERROR:Enabled
      6972.138403 s:  VX_ZONE_WARNING:Enabled
      6972.148018 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-0 
      6972.148120 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-1 
      6972.148183 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-2 
      6972.148254 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:124] Added target MPU-3 
      6972.148257 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
      6972.150710 s:  VX_ZONE_INIT:[tivxHostInitLocal:106] Initialization Done for HOST !!!
      6972.150944 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.150969 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.151005 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.151092 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.151233 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.151241 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.151248 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.151309 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.151342 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.151384 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.151392 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.151396 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.151403 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.151407 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.151441 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.151446 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.151474 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.151478 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.151484 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.151488 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.151494 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.151498 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.151526 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.151573 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.151652 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.151680 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.151687 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.151690 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.151705 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.151709 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.151716 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.151719 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.151732 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.151739 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.151743 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.151757 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.151765 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.151790 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.151816 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.151840 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.151865 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.151889 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.151914 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.151940 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.151965 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.152075 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.152115 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.152122 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.152126 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.152163 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.152170 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.152188 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.152195 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.152214 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.152221 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.152238 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.152245 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.152272 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.152297 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.152321 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.152346 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.152370 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.152395 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.152420 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.152503 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.152551 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.152559 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.152577 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.152585 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.152619 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.152627 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.152640 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.152648 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.152661 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.152668 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.152682 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.152690 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.152710 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.152732 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.152753 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.152874 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.152881 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.152888 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.152894 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.152900 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.152906 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.152912 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.152918 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.152965 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.153000 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.153007 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.153013 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.153057 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.153133 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.153163 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.153167 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.153173 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.153177 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.153214 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.153221 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.153227 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.153262 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.153278 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.153311 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.153338 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.153367 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.153383 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.153417 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.153496 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.153502 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.153506 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.153521 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.153525 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.153531 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.153534 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.153554 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.153579 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.153605 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.153646 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.153652 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.153677 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.153703 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.153728 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.153753 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.153778 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.153803 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.153829 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.153854 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.153896 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.153903 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.153930 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.153954 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.153979 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.154003 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.154028 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.154052 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.154077 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.154102 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.154126 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.154152 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.154176 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.154199 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.154223 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.154247 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.154294 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.154302 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.154315 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.154322 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.154344 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.154364 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.154385 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.154407 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.154428 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.154448 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.154469 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.154490 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.154511 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.154531 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.154552 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.154607 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.154843 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.154850 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.154854 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.154860 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.154880 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.154912 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.154919 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.154925 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.154929 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.154962 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.154966 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.154973 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.154976 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.155007 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.155049 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.155057 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.155061 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.155075 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.155078 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.155084 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.155088 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.155122 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.155126 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.155169 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.155173 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.155179 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.155183 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.155263 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.155270 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.155274 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.155288 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.155292 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.155311 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.155315 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.155335 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.155339 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.155359 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.155366 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.155391 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.155414 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.155442 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.155466 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.155491 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.155515 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.155539 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.155563 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.155588 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.155613 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.155654 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.155662 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.155688 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.155712 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.155738 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.155762 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.155786 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.155810 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.155835 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.155859 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.155884 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.155908 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.155933 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.155957 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.155981 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.156043 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.156051 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.156078 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.156086 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.156121 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.156141 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.156162 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.156183 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.156204 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.156223 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.156244 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.156252 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.156267 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.156286 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.156306 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.156326 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.156334 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.156455 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.156545 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.156578 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.156610 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.156699 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.156730 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.156735 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.156741 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.156744 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.156776 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.156780 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.156787 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.156790 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.156822 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.156826 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.156832 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.156836 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.156869 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.156873 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.156879 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.156882 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.156914 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.156918 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.156925 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.156928 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.156961 s: IPC: RX: mcu2_0 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.156965 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.156971 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.157053 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.157060 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.157063 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.157078 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.157082 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.157103 s: IPC: RX: mcu2_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.157107 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.157127 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.157134 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.157159 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.157184 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.157209 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.157234 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.157254 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.157283 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.157306 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.157331 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.157356 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.157380 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.157405 s: IPC: RX: c6x_1 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.157446 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.157453 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.157480 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.157504 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.157529 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.157554 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.157578 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.157604 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.157629 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.157654 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.157692 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.157699 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.157726 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.157751 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.157776 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.157799 s: IPC: RX: c6x_2 -> mpu1_0 (port 13) msg = 0xdead000f
      6972.157834 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0000
      6972.157855 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0001
      6972.157875 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0002
      6972.157895 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0003
      6972.157916 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0004
      6972.157937 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0005
      6972.157958 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0006
      6972.157979 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0007
      6972.157999 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0008
      6972.158020 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead0009
      6972.158028 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000a
      6972.158050 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000b
      6972.158071 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000c
      6972.158107 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000d
      6972.158115 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000e
      6972.158138 s: IPC: RX: c7x_1 -> mpu1_0 (port 13) msg = 0xdead000f
    APP IPC: Waiting for all messages to get echoed from remote core...
    APP IPC: Waiting for all messages to get echoed ... Done.
    APP IPC: Running remote service test ... 
      6982.158230 s: REMOTE_SERVICE_TEST: Running test for CPU mcu2_0 !!!
      6982.158805 s: REMOTE_SERVICE_TEST: Test passed !!!
      6982.158931 s: REMOTE_SERVICE_TEST: Running test @ 0xb8000000 of 1024 bytes size for CPU mcu2_0 !!!
      6982.159520 s: REMOTE_SERVICE_TEST: Test passed !!!
      6982.159524 s: REMOTE_SERVICE_TEST: Running test for timer of 10000 msecs for CPU mcu2_0 !!!
      6992.158746 s: REMOTE_SERVICE_TEST: Timer test of 10000 msecs for CPU mcu2_0 ... DONE !!!
      6992.158757 s: REMOTE_SERVICE_TEST: Test passed !!!
      6992.158762 s: REMOTE_SERVICE_TEST: Running test for CPU mcu2_1 !!!
      6992.159213 s: REMOTE_SERVICE_TEST: Test passed !!!
      6992.159303 s: REMOTE_SERVICE_TEST: Running test @ 0xb8000000 of 1024 bytes size for CPU mcu2_1 !!!
      6992.159845 s: REMOTE_SERVICE_TEST: Test passed !!!
      6992.159848 s: REMOTE_SERVICE_TEST: Running test for timer of 10000 msecs for CPU mcu2_1 !!!
      7002.159690 s: REMOTE_SERVICE_TEST: Timer test of 10000 msecs for CPU mcu2_1 ... DONE !!!
      7002.159698 s: REMOTE_SERVICE_TEST: Test passed !!!
      7002.159703 s: REMOTE_SERVICE_TEST: Running test for CPU c6x_1 !!!
      7002.160045 s: REMOTE_SERVICE_TEST: Test passed !!!
      7002.160133 s: REMOTE_SERVICE_TEST: Running test @ 0xb8000000 of 1024 bytes size for CPU c6x_1 !!!
      7002.160617 s: REMOTE_SERVICE_TEST: Test passed !!!
      7002.160620 s: REMOTE_SERVICE_TEST: Running test for timer of 10000 msecs for CPU c6x_1 !!!
      7012.160700 s: REMOTE_SERVICE_TEST: Timer test of 10000 msecs for CPU c6x_1 ... DONE !!!
      7012.160710 s: REMOTE_SERVICE_TEST: Test passed !!!
      7012.160714 s: REMOTE_SERVICE_TEST: Running test for CPU c6x_2 !!!
      7012.161067 s: REMOTE_SERVICE_TEST: Test passed !!!
      7012.161156 s: REMOTE_SERVICE_TEST: Running test @ 0xb8000000 of 1024 bytes size for CPU c6x_2 !!!
      7012.161575 s: REMOTE_SERVICE_TEST: Test passed !!!
      7012.161578 s: REMOTE_SERVICE_TEST: Running test for timer of 10000 msecs for CPU c6x_2 !!!
      7022.161215 s: REMOTE_SERVICE_TEST: Timer test of 10000 msecs for CPU c6x_2 ... DONE !!!
      7022.161227 s: REMOTE_SERVICE_TEST: Test passed !!!
      7022.161232 s: REMOTE_SERVICE_TEST: Running test for CPU c7x_1 !!!
      7022.161532 s: REMOTE_SERVICE_TEST: Test passed !!!
      7022.161627 s: REMOTE_SERVICE_TEST: Running test @ 0xb8000000 of 1024 bytes size for CPU c7x_1 !!!
      7022.161975 s: REMOTE_SERVICE_TEST: Test passed !!!
      7022.161978 s: REMOTE_SERVICE_TEST: Running test for timer of 10000 msecs for CPU c7x_1 !!!
      7032.161473 s: REMOTE_SERVICE_TEST: Timer test of 10000 msecs for CPU c7x_1 ... DONE !!!
      7032.161482 s: REMOTE_SERVICE_TEST: Test passed !!!
    APP IPC: Running remote service test ... Done.
      7032.161504 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:120] De-Initialization Done for HOST !!!
      7032.165930 s:  VX_ZONE_INIT:[tivxDeInitLocal:206] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
      7032.167277 s: IPC: Deinit ... !!!
      7032.167734 s: IPC: DeInit ... Done !!!
      7032.167743 s: MEM: Deinit ... !!!
      7032.167748 s: DDR_SHARED_MEM: Alloc's: 5 alloc's of 5120 bytes 
      7032.167751 s: DDR_SHARED_MEM: Free's : 5 free's  of 5120 bytes 
      7032.167753 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
      7032.167759 s: MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    APP IPC: Done !!!
    

    And now we are trying to run an RPMsg_char_sample. It's not working,

    so we tried rpmsg_client_smaple to run, and it's not available in the prebuild image, so we have compiled the file and trying to insmod the  rpmsg_client_smaple.ko , but it's throwing an error.


    "[ 5426.343928] rpmsg_client_sample: version magic '6.6.32-gdb8871293143-dirty SMP preempt mod_unload aarch64' should be '6.6.32-ti-gdb8871293143-dirty SMP preempt mod_unload aarch64'
    insmod: ERROR: could not insert module /lib/modules/rpmsg_client_sample.ko: Invalid module format
    "

    Please help the below queries:

    Why is RPMsg_char_sample not working, and which binary file has to be used for the corresponding softlink?

    Which location in the EVM board to paste the rpmsg_client_smaple.ko? And what are the steps to follow further?

    Which file has the firmware because after softlink the Eth net is not working?

  • Hello,

    In uenv.txt file in the boot partition of SD card, you need to remove "visionapps.dtbo". Then only ipc echo test will work.

    can please share me your uEnv.txt file ?

    Regards

    Tarun Mukesh

  • Hello ,

    I have attached the uEnc.txt

    .

    # This uEnv.txt file can contain additional environment settings that you
    # want to set in U-Boot at boot time.  This can be simple variables such
    # as the serverip or custom variables.  The format of this file is:
    #    variable=value
    # NOTE: This file will be evaluated after the bootcmd is run and the
    #       bootcmd must be set to load this file if it exists (this is the
    #       default on all newer U-Boot images.  This also means that some
    #       variables such as bootdelay cannot be changed by this file since
    #       it is not evaluated until the bootcmd is run.
    psdk_setup_file=.psdk_setup
    check_psdk_setup=load mmc 1:1 ${loadaddr} ${psdk_setup_file}
    
    # Reset to the default environment
    do_psdk_setup=env default -f -a; saveenv
    
    # If not done previously, then reset to the default environment and indicate this by writing a file
    # Also update the Linux hostname based on board_name
    uenvcmd=if run check_psdk_setup; then echo "Already setup."; else run do_psdk_setup; mw.b ${loadaddr} 0 1; fatwrite mmc 1:1 ${loadaddr} .psdk_setup 1; reset; fi; if test "$board_name" = "j721e-sk"; then ; setenv args_all $args_all systemd.hostname=tda4vm-sk ; fi;
    
    # Setting the right U-Boot environment variables
    dorprocboot=1
    name_overlays=ti/k3-j721e-evm-ethfw.dtbo ti/k3-j721e-vision-apps.dtbo
    

    Softlink binary for rpmsg_char_sample and rpmsg_client_smaple.

    so we tried rpmsg_client_smaple to run, and it's not available in the prebuild image, so we have compiled the file and trying to insmod the  rpmsg_client_smaple.ko , but it's throwing an error.


    "[ 5426.343928] rpmsg_client_sample: version magic '6.6.32-gdb8871293143-dirty SMP preempt mod_unload aarch64' should be '6.6.32-ti-gdb8871293143-dirty SMP preempt mod_unload aarch64'
    insmod: ERROR: could not insert module /lib/modules/rpmsg_client_sample.ko: Invalid module format
    "

    I have followed below steps.

    export CROSS_COMPILE_64="/home/vm_user/CPU_Load/ti-processor-sdk-linux-adas-j721e-evm-10_00_00_08/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
    export SYSROOT_64="/home/vm_user/CPU_Load/ti-processor-sdk-linux-adas-j721e-evm-10_00_00_08/linux-devkit/sysroots/aarch64-oe-linux"
    export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
    export CROSS_COMPILE_32="/home/vm_user/CPU_Load/ti-processor-sdk-linux-adas-j721e-evm-10_00_00_08/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
    
    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" distclean
    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config
    make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" menuconfig
    
    Symbol: SAMPLE_RPMSG_CLIENT [=m]
      │ Type  : tristate
      │ Defined at samples/Kconfig:116
      │   Prompt: Build rpmsg client sample -- loadable modules only
      │   Depends on: SAMPLES [=y] && RPMSG [=y] && m && MODULES [=y]
      │   Location:
      │     -> Kernel hacking
      │       -> Sample kernel code (SAMPLES [=y])
      │ (1)     -> Build rpmsg client sample -- loadable modules only (SAMPLE_RPMSG_CLIENT [=m])
    
    make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- -j8
    
    Copy the Linux RPMsg kernel driver from <Linux_SDK>/board-support/linux-x.x.x/samples/rpmsg/rpmsg_client_sample.ko into the board’s Linux filesystem.
    
    insmod /lib/modules/rpmsg_client_sample.ko

    insmod /lib/modules/rpmsg_client_sample.ko

    Error occurred :
    "[ 5426.343928] rpmsg_client_sample: version magic '6.6.32-gdb8871293143-dirty SMP preempt mod_unload aarch64' should be '6.6.32-ti-gdb8871293143-dirty SMP preempt mod_unload aarch64'
    insmod: ERROR: could not insert module /lib/modules/rpmsg_client_sample.ko: Invalid module format
    "

    How to solve the above error?
    Why is RPMsg_char_sample not working, and which binary file has to be used for the corresponding softlink?
  • Hello ,

    I have removed the above suggested line in uEnv.txt in the boot partition of the SD card and tried to run the rpmsg_char_sample for all the cores. It's working for R5F_MAIN1_0 = 4, R5F_MAIN1_1 = 5 and other cores is not working. Eth1 is not working ?

    .

  • Hi Lokesh,

    In the last screenshot, I see that main-r5f0_1-fw, main-r5f1_0-fw, and main-r5f1_1-fw are softlinked to the IPC echo test demo binary. So I expect that rpmsg_char_sample is working for also R5F_MAIN0_1 = 3, along with R5F_MAIN1_0 = 4, R5F_MAIN1_1 = 5 that you have mentioned in your post, but is this correct?

    To my understanding, there are two parts to the IPC echo test demo. 

    1. Linux driver portion: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/10_00_00_08/exports/docs/linux/Foundational_Components_IPC_J721E.html
    2. RTOS firmware portion: https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/10_00_00_05/exports/docs/pdk_jacinto_10_00_00_27/docs/userguide/jacinto/modules/ipc.html 

    I think the missing portion is the RTOS firmware portion for the other cores that you do not see an echo back. Downloading the RTOS SDK, taking the IPC echo test firmware for the cores you want to demo, and softlinking the firmware in the filesystem should replicate the echo back on the other cores you are not seeing echo.

    Regards,

    Takuma

  • Hello ,

    Now as per the first suggestion from IT, I have commented out the complete line "name_overlays=ti/k3-j721e-evm-ethfw.dtbo ti/k3-j721e-vision-apps.dtbo"  in the uenv.txt . it's working for four cores (R5F_MCU0_0 = 0, R5F_MAIN0_1 = 3, DSP_C66_0 = 6, DSP_C66_1 = 7 and DSP_C71_0 = 8) TDA4VM.

    # This uEnv.txt file can contain additional environment settings that you
    # want to set in U-Boot at boot time.  This can be simple variables such
    # as the serverip or custom variables.  The format of this file is:
    #    variable=value
    # NOTE: This file will be evaluated after the bootcmd is run and the
    #       bootcmd must be set to load this file if it exists (this is the
    #       default on all newer U-Boot images.  This also means that some
    #       variables such as bootdelay cannot be changed by this file since
    #       it is not evaluated until the bootcmd is run.
    psdk_setup_file=.psdk_setup
    check_psdk_setup=load mmc 1:1 ${loadaddr} ${psdk_setup_file}
    
    # Reset to the default environment
    do_psdk_setup=env default -f -a; saveenv
    
    # If not done previously, then reset to the default environment and indicate this by writing a file
    # Also update the Linux hostname based on board_name
    uenvcmd=if run check_psdk_setup; then echo "Already setup."; else run do_psdk_setup; mw.b ${loadaddr} 0 1; fatwrite mmc 1:1 ${loadaddr} .psdk_setup 1; reset; fi; if test "$board_name" = "j721e-sk"; then ; setenv args_all $args_all systemd.hostname=tda4vm-sk ; fi;
    
    # Setting the right U-Boot environment variables
    dorprocboot=1
    #name_overlays=ti/k3-j721e-evm-ethfw.dtbo ti/k3-j721e-vision-apps.dtbo

    I have soft-linked the IPC echo test binary to all cores as mentioned in the TI website.

    ls -al /lib/firmware

    lrwxrwxrwx  1 root root   76 Nov  6 04:18 j7-c66_0-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c66xdsp_1_release_strip.xe66.signed
    lrwxrwxrwx  1 root root   69 Nov  6 04:18 j7-c66_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c66xdsp_2_release_strip.xe66
    lrwxrwxrwx  1 root root   76 Nov  6 04:18 j7-c66_1-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c66xdsp_2_release_strip.xe66.signed
    lrwxrwxrwx  1 root root   65 Nov  6 04:18 j7-c71_0-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c7x_1_release_strip.xe71
    lrwxrwxrwx  1 root root   72 Nov  6 04:18 j7-c71_0-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_c7x_1_release_strip.xe71.signed
    lrwxrwxrwx  1 root root   65 Nov  6 04:18 j7-main-r5f0_0-fw -> /lib/firmware/ti-eth/j721e/app_remoteswitchcfg_server_strip.xer5f
    lrwxrwxrwx  1 root root   72 Nov  6 04:18 j7-main-r5f0_0-fw-sec -> /lib/firmware/ti-eth/j721e/app_remoteswitchcfg_server_strip.xer5f.signed
    lrwxrwxrwx  1 root root   67 Nov  6 04:18 j7-main-r5f0_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu2_1_release_strip.xer5f
    lrwxrwxrwx  1 root root   74 Nov  6 04:18 j7-main-r5f0_1-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu2_1_release_strip.xer5f.signed
    lrwxrwxrwx  1 root root   67 Nov  6 04:18 j7-main-r5f1_0-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_0_release_strip.xer5f
    lrwxrwxrwx  1 root root   74 Nov  6 04:18 j7-main-r5f1_0-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_0_release_strip.xer5f.signed
    lrwxrwxrwx  1 root root   67 Nov  6 04:18 j7-main-r5f1_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_1_release_strip.xer5f
    lrwxrwxrwx  1 root root   74 Nov  6 04:18 j7-main-r5f1_1-fw-sec -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu3_1_release_strip.xer5f.signed
    lrwxrwxrwx  1 root root   68 Nov  6 04:18 j7-mcu-r5f0_0-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_testb_mcu1_0_release_strip.xer5f
    lrwxrwxrwx  1 root root   67 Nov  6 04:18 j7-mcu-r5f0_1-fw -> /lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu1_1_release_strip.xer5f
    lrwxrwxrwx  1 root root   78 Mar  9  2018 j7-mcu-r5f0_1-fw-sec -> /usr/lib/firmware/ti-ipc/j721e/ipc_echo_test_mcu1_1_release_strip.xer5f.signed
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-pru0_0-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-pru0_1-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-pru1_0-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-pru1_1-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-rtu0_0-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-rtu0_1-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-rtu1_0-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out
    lrwxrwxrwx  1 root root   53 Mar  9  2018 j7-rtu1_1-fw -> /usr/lib/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out
    lrwxrwxrwx  1 root root   39 Mar  9  2018 j7-txpru0_0-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_0.out
    lrwxrwxrwx  1 root root   39 Mar  9  2018 j7-txpru0_1-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_1.out
    lrwxrwxrwx  1 root root   39 Mar  9  2018 j7-txpru1_0-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_0.out
    lrwxrwxrwx  1 root root   39 Mar  9  2018 j7-txpru1_1-fw -> /usr/lib/firmware/pru/TX_PRU_Halt_1.out
    

    Please help the below queries:

    Why is RPMsg_char_sample not working for other cores (R5F_MCU0_1 = 1,
    R5F_MAIN0_0 = 2, R5F_MAIN1_0 = 4,
    R5F_MAIN1_1 = 5)?

    As per my requirement, other cores also have to load. How to make it work all the cores and with Ethnet as well ?

    Ethnet is down; once softlink the binary for any one core, e.g., R5F (j7-main-r5f1_0-fw) core, I have softlink IPC echo test binary to j7-main-r5f1_0-fw after that ethnet is down.

  • rpmsg-char-simple will not work for R5F_MAIN0_0 = 2 ,since you are not using ipc echo test.

    root   65 Nov  6 04:18 j7-main-r5f0_0-fw -> /lib/firmware/ti-eth/j721e/app_remoteswitchcfg_server_strip.xer5f

    If your ethernet needs to work you need to keep "name_overlays=ti/k3-j721e-evm-ethfw.dtbo" in uENV.txt

    Your Issue looks similar to that of https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1406023/j784s4xevm-build-ipc-echo-test-for-j784s4

    Please have a look into this.

    Regards

    Tarun Mukesh

  • Hello,

    Eth-net is working. it's "R5F_MCU0_1 = 1, --> Not Working and R5F_MAIN1_0 = 4, --> partially Working" not working. How to make it work ?

    R5F_MCU0_0 = 0, --> Working
    R5F_MCU0_1 = 1, --> Not Working
    R5F_MAIN0_0 = 2, --> Decicated for Eth net firmware. (Eth net is Working)
    R5F_MAIN0_1 = 3, --> Working
    R5F_MAIN1_0 = 4, --> partially Working (which mean that it's working sometime only)
    R5F_MAIN1_1 = 5, --> Working
    DSP_C66_0 = 6, --> Working
    DSP_C66_1 = 7, --> Working
    DSP_C71_0 = 8, --> Working

  • Hello,

    There are no more additional changes which needs to be done apart from above,its either executables are not getting linked or loading properly.

    R5F_MAIN1_0 = 4, --> partially Working (which mean that it's working sometime only)
    R5F_MAIN1_1 = 5, --> Working

    It can be issue in loading of MAIN1_0 core, please check the log whether the loading was being completed successfully.

    Please check it correctly.

     

    Regards

    Tarun Mukesh

  • Thank you for your support now it's working.