Hi there
I have got an iMX7s on custom board with 512MB Ram. I successfully run the hello_world example and now I am trying to get the pingpong example to work. On the M4 side there are no problems. I can boot and it shows:
RPMSG PingPong FreeRTOS RTOS API Demo...
RPMSG Init as Remot
But on the Linux side there are a few problems:
If I don't enable rpmsg in the devicetree I can boot and load the pingpong module using modprobe imx_rpmsg_pingpong. Additionaly rpmsg is shown in /sys/bus and /sys/module/ . But nothing else happens.
If I set rpmsg in the devicetree to "okay" I just see this:
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Things that I've changed so far:
- obviously modifying the DT
- set rpmsg to "ok"
- set usable memory
/ {
memory {
linux,usable-memory = <0x80000000 0x1ff00000>;
}
}
- changing the vring in the Linux kernel in imx_rpmsg.c from BFFF0000 --> 9FFF0000 (and BFFF8000 --> 9FFF8000)
- changing the vring in FreeRTOS in platform_info.c the same way
- RPMsg and Pingpong are enabled in the Kernel
Please help :smileyhappy:
Erik
已解决! 转到解答。
i.MX Development Miscellanea(i.MX 开发杂记)
https://community.nxp.com/docs/DOC-335198
i.MX6SX_M4_MPU_Settings_For_RPMSG_04132018.pdf
Hi Erik Friedel,
Could you please tell what changes you did in device tree and in M4 side to run pingpong example. I am also struggling with the same, running pingpong example on custom board with 512 MB RAM .
Thank you for your answers.
@D. RY where do I have to put my vring then? In the RPMsg patches from igor are the same values I have.
I am now able to boot into Linux thanks to a colleague and when I run "modprobe imx_rpmsg_pingpong", the following message appears:
init pingpong
init pingpong: 0
So it doesn't start to count.
Kmod list shows:
Module Size Used by
imx_rpmsg_pingpong 2038 0
virtio_rpmsg_bus 11468 1 imx_rpmsg_pingpong
virtio 7481 1 virtio_rpmsg_bus
virtio_ring 11266 1 virtio_rpmsg_bus
changes done:
- patches provided by igor
-FreeRTOS set to 9FFF000...
Erik
Hey Erik
Sorry late replying.
I looked at Biyong 's document he added, and it looked to contain all the details. Have you seen it?
I'm on slightly different SoC and may be BSP not same, I woudn't want to lead you in error.
If both - Linux & FreeRTOS - have now updated address of the vrings, they should find each other.
I'm also not using patches Igor referred to thus wouldn't be able to help straight away.
Hi Erik
please check Warp7 (i.MX7S@512MB LPDDR3) RPMsg patches
Multicore communication on WaRP7 using Remote Processor Messaging bus (RPMsg) - i.MXDev Blog
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------