I am trying to start the M4 kernel using the remotrproc driver and have encountered the following issues:
Dmesg shows that the remote rproc firmware has been started, but there is no information printed on the M4 core debugging serial port four,
[ 1.977896] debugfs: Directory 'imx8mm-cm4-imx-rproc' with parent 'regmap' already present!
[ 1.986407] imx-rproc imx8mm-cm4: mbox_request_channel_byname() could not locate channel named "txdb"
[ 1.995637] imx-rproc imx8mm-cm4: No txdb, ret 0
[ 1.995817] remoteproc remoteproc0: imx-rproc is available
[ 1.997515] remoteproc remoteproc0: Direct firmware load for imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf failed with error -2
[ 4.872634] remoteproc remoteproc0: powering up imx-rproc
[ 4.875182] remoteproc remoteproc0: Booting fw image imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf, size 157992
[ 4.875213] remoteproc remoteproc0: no dtb rsrc-table
[ 4.953765] imx8mm-cm4#vdev0buffer: assigned reserved memory node vdevbuffer@b8400000
[ 4.972129] imx-sdma 302c0000.dma-controller: loaded firmware 4.5
[ 5.007869] imx-rproc imx8mm-cm4: imx_rproc_kick: failed (0, err:-62)
[ 5.014380] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 5.014436] imx8mm-cm4#vdev0buffer: registered virtio0 (type 7)
[ 5.014441] remoteproc remoteproc0: remote processor imx-rproc is now up
cat /sys/class/remoteproc/remoteproc0/firmware imx8mm_m4_TCM_rpmsg_lite_pingpong_rtos_linux_remote.elf
cat /sys/class/remoteproc/remoteproc0/state
running
Hello @tonylog
I hope you are doing well.
Could you please share your BSP version?
Also, do you compiled your example or it is the compiled with the BSP?
In case you compiled it, please share your arm tool chain version.
Best regards,
Salas.
Hello, Alejandro Silas
I'm sorry because the imx8mm_m4_TCM_rpmsgtlite_pingpong_rots_linux-remote. elf in /lib/firmware was provided by a former colleague, so I tried again to compile a new M4.elf image on VS Code for Windows with MCUXpresso 。
And My ARM toolchain version is (Arm GNU Toolchain 123. Rel1 (Build arm-12.35)) 12.3.1 20230626. Then, I copied the compiled image from a USB to the/lib/firmware directory and modified the device tree "fsl and rproc fw" name again but obtain the same result. Serial port four still did not respond, desg and still displayed
[ 4.717765] remoteproc remoteproc0: remote processor imx-rproc is now up
Thank you very much for your answer!
Hello @tonylog
I have some questions/recommendations to you.
Did you loaded the imx_rpmsg_pingpong? You can verify if this module is loaded with lsmod linux command, if not, you can load with insmod imx_rpmsg_pingpong, then load your .elf.
Other recommendation, you can load the .bin file generated on the example in U-boot.
Also, Please share your SDK Version and BSP version please.
Best regards,
Salas.
Hello, Alejandro Silas
Thank you very much for your attention to my question and for your patient answer!
The reason why I use remote rproc is that I tried to launch the. bin file from uboot but failed. The message is as follows:
I am using an SD card
Please press a key to continue :
u-boot=> setenv m4_image hello_world_tcm.bin
u-boot=> setenv m4_boot_addr 0x007E0000
u-boot=> setenv m4_load_addr 0x48000000
u-boot=> setenv m4_size 20000
u-boot=> setenv m4_run 'fatload mmc 1:1 ${m4_load_addr} ${m4_image}; cp.b
u-boot=> run m4_run
Run CMD11 1.8V switch
oooooooooo6220 bytes read in 21 ms (289.1 KiB/s)
## Starting auxiliary core stack = 0x20020000, pc = 0x1FFE02CD...
I guess some details were overlooked when porting uboot
The picture is as follows:
My BSP version is 5.4.24
My SDK version is SDK2.x-EVK-MIMX8MP (version 2.15.000)
Thank you again for responding to my question and providing many effective suggestions!!
Hello @tonylog
Thank you for the clarification. Also, please share the Arm GCC toolchain version.
Best regards,
Salas.