This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

Multiple instance of RPMsg

Overview

Multiple instance of RPMsg is an abstraction created over OpenAMP. It simplifies the initialization and endpoint creation process. This sample demonstrates how to use multi-instance RPMsg in Zephyr.

Building the application for nrf5340dk_nrf5340_cpuapp

# From the root of the zephyr repository
west build -b nrf5340dk_nrf5340_cpuapp samples/subsys/ipc/rpmsg_multi_instance
west debug

Open a serial terminal (for example Minicom or PuTTY) and connect the board with the following settings:

  • Speed: 115200

  • Data: 8 bits

  • Parity: None

  • Stop bits: 1

When you reset the development kit, the following messages (one for master and one for remote) will appear on the corresponding serial ports:

*** Booting Zephyr OS build zephyr-v2.5.0-3564-gf89886d69a8c  ***
Starting application thread!

RPMsg Multiple instance [master no 1] demo started

RPMsg Multiple instance [master no 2] demo started
Master [no 1] core received a message: 1
Master [no 2] core received a message: 1
Master [no 1] core received a message: 3
Master [no 2] core received a message: 3
Master [no 1] core received a message: 5
Master [no 2] core received a message: 5
...
Master [no 1] core received a message: 99
RPMsg Multiple instance [no 1] demo ended.
Master [no 2] core received a message: 99
RPMsg Multiple instance [no 2] demo ended.
*** Booting Zephyr OS build zephyr-v2.5.0-3564-gf89886d69a8c  ***
Starting application thread!

RPMsg Multiple instance [remote no 1] demo started

RPMsg Multiple instance [remote no 2] demo started
Remote [no 1] core received a message: 0
Remote [no 2] core received a message: 0
Remote [no 1] core received a message: 2
Remote [no 2] core received a message: 2
Remote [no 1] core received a message: 4
Remote [no 2] core received a message: 4
...
Remote [no 1] core received a message: 98
RPMsg Multiple instance [no 1] demo ended.
Remote [no 2] core received a message: 98
RPMsg Multiple instance [no 2] demo ended.