Hi all ,
We start to work with Torizon Os Easy Pairing 7.2.0 and Verdin iMX8M Mini DualLite 1GB.
We started by launching the Hello World demo on the M4 side, and we encountered no problems.
We then tried the “pingpong” example, but we encountered some problems…
Ok to launch from the M4 side, and we have the message
> RPMSG Ping-Pong FreeRTOS RTOS API Demo...
> RPMSG Share Base Addr is 0xb8000000
but we never had the following message :
> Link is up!
> Nameservice announce sent.
we certainly forgot something but what, here are the steps:
we modify the file /sysroot/boot/ostree/torizon-*/dtb/overlays.txt : fdt_overlays=verdin-imx8mm_dsi-to-hdmi_overlay.dtbo verdin-imx8mm_spidev_overlay.dtbo verdin-imx8mm_hmp_overlay.dtbo
we load the kernel module :
sudo modprobe imx_rpmsg_pingpong
And nothing else …
Any suggestions ? someone to help us ?
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello!
It seems you’re encountering an issue with RPMsg communication due to a missing HMP (Heterogeneous Multi-Processing) overlay. Let’s walk through the steps to resolve this:
Apply the HMP Device Tree Overlay: You need to apply the HMP device tree overlay to enable RPMsg communication. Use the following overlay:
Load the Kernel Module for Pingpong Example: After applying the overlay and loading the firmware, load the kernel module for the pingpong example:
# sudo modprobe imx_rpmsg_pingpong
Check Cortex-M4 Messages: When everything is configured correctly, you should see the following messages on the Cortex-M4:
RPMSG Ping-Pong FreeRTOS RTOS API Demo...
RPMSG Share Base Addr is 0xb8000000
Link is up!
Nameservice announce sent.
If you’re using Torizon OS 7, there are known issues with RPMsg functionality that might require additional kernel command line arguments. For more information, please refer to the Toradex community discussion regarding these specific kernel arguments for Verdin iMX8MM users.
I hope this helps you get your RPMsg communication up and running smoothly.
At this point I have been able to reproduce the issue.
I will look into possible solutions.
It is likely related to some issue with RPMSG, but I need to do more testing.
Going through the steps in my first post, do you see anything that would prevent the connection between the two cores? I don’t understand why?
It doesn’t work even with your modification.
tks
Since @bruno.tx is out of the office for a few days, I’m taking over your case. I could reproduce the issue and solve it with some tweaks in the device tree overlay file and the source code of the ping-pong demo. The problem was that the overlay does not use the address base for a 2GB RAM. So I had to change the addresses in the overlay file and also in the SDK_25_03_00_MIMX8MM3xxxLZ/boards/evkmimx8mm/multicore_examples/rpmsg_lite_pingpong_rtos_linux/remote/board.h file.
The following are the changes:
board.h file:
..............................................
..............................................
/* Shared memory base for RPMsg communication. */
#define VDEV0_VRING_BASE (0x78000000U)
..............................................
..............................................
verdin-imx8mm_hmp_overlay.dts (please use branch toradex_6.6-2.2.x-imx)file:
It should work after you have recompiled these files and applied them to the target. I will also inform our team to update the documentation on this. Thanks for reporting this!