I have tried it on my i.MX8MMini EVK board with 5.4.24 kernel and 2.8.0 MCUXpresso SDK. Everything worked as expected.
Here are all the steps I followed:
-- Build complete .sdcard image:
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.24-2.1.0.xml
repo sync -q -j8
EULA=1 MACHINE=imx8mmevk DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build
bitbake fsl-image-validation-imx
This will build an image (fsl-image-validation-imx-imx8mmevk.sdcard) with 5.4.24-2.1.0+gbabac008e5cf BSP.
-- Build SDK demo:
export PATH=$PATH:/opt/gcc-arm-none-eabi-7-2017-q4-major/bin
export ARMGCC_DIR=/opt/gcc-arm-none-eabi-7-2017-q4-major
cd boards/evkmimx8mm/multicore_examples/rpmsg_lite_str_echo_rtos/armgcc
./build_all.sh
I took release/rpmsg_lite_str_echo_rtos_imxcm4.bin for my test scenario.
-- Booting steps:
- Stop in u-boot (load demo and change default dtb)
u-boot=> fatload mmc 1:1 0x48000000 rpmsg_lite_str_echo_rtos_imxcm4.bin
16748 bytes read in 17 ms (961.9 KiB/s)
u-boot=> cp.b 0x48000000 0x7e0000 0x20000
u-boot=> bootaux 0x7e0000
## Starting auxiliary core stack = 0x20020000, pc = 0x1FFE0355...
u-boot=> editenv fdt_file
edit: imx8mm-evk-rpmsg.dtb
u-boot=> boot
- Load module and test:
root@imx8mmevk:~# insmod /lib/modules/5.4.24-2.1.0+gbabac008e5cf/kernel/drivers/rpmsg/imx_rpmsg_tty.ko
[ 97.340005] imx_rpmsg_tty virtio0.rpmsg-virtual-tty-channel-1.-1.30: new channel: 0x400 -> 0x1e!
[ 97.350208] Install rpmsg tty driver!
root@imx8mmevk:~# echo "test" > /dev/ttyRPMSG30
- Results on M4 side:
RPMSG String Echo FreeRTOS RTOS API Demo...
Nameservice sent, ready for incoming messages...
Get Message From Master Side : "hello world!" [len : 12]
Get Message From Master Side : "test" [len : 4]
Get New Line From Master Side
Best Regards,
Artur