cancel
Showing results for 
Search instead for 
Did you mean: 

Zephyr RPMSG Service for Cortex M4 on STM32MP157F-DK2

ThinhNguyen
Associate

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

 

1 ACCEPTED SOLUTION

Accepted Solutions
ArnaudP
ST Employee

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

View solution in original post

1 REPLY 1
ArnaudP
ST Employee

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