Skip to main content
Associate III
December 28, 2024
Solved

Zephyr RPMSG Service for Cortex M4 on STM32MP157F-DK2

  • December 28, 2024
  • 1 reply
  • 1037 views

I try to build a rpmsg sample app by following this instruction : https://docs.zephyrproject.org/latest/samples/subsys/ipc/rpmsg_service/README.html

The example repository here: https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/rpmsg_service

It seems that the device tree overlay is missing for STM32MP157F-DK2, so I create one

/ {
chosen {
/*
* shared memory reserved for the inter-processor communication
*/
zephyr,ipc_shm = &mcuram2;
zephyr,ipc = &mailbox;
};

mcuram2: mcuram2@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x40000>;
};

It is not working, please advice if the device tree is correct or not? and Is there any relation with Linux device tree?

 

thanks

 

Best answer by ArnaudP

Hello,

The rpmsg service you are trying to use is for communication between two MCUs running zephyr.
For the stm32mp15 please use this sample: https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/openamp_rsc_table

It is dedicated to communication between a Zephyr running on Cortex-M4 and a Linux running on the Cortex-A7.

You can also have a look at rpmsg_multiservice example in the Open-AMP system reference github.
Associated doc: https://openamp.readthedocs.io/en/latest/demos/system_reference-ST.html

1 reply

ArnaudP
ArnaudPBest answer
ST Employee
January 8, 2025

Hello,

The rpmsg service you are trying to use is for communication between two MCUs running zephyr.
For the stm32mp15 please use this sample: https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/openamp_rsc_table

It is dedicated to communication between a Zephyr running on Cortex-M4 and a Linux running on the Cortex-A7.

You can also have a look at rpmsg_multiservice example in the Open-AMP system reference github.
Associated doc: https://openamp.readthedocs.io/en/latest/demos/system_reference-ST.html