README.rst
1.. zephyr:code-sample:: ipc_multi_endpoint
2 :name: IPC service: Multi-endpoint
3 :relevant-api: ipc
4
5 Use the IPC Service with multiple endpoints.
6
7This application demonstrates how to use IPC Service with multiple endpoints.
8By default, it uses the ``icmsg_me`` backend.
9You can also configure it to use the ``icbmsg`` backend.
10
11Building the application for nrf5340dk/nrf5340/cpuapp
12*****************************************************
13
14.. zephyr-app-commands::
15 :zephyr-app: samples/subsys/ipc/ipc_service/multi_endpoint
16 :board: nrf5340dk/nrf5340/cpuapp
17 :goals: debug
18
19Open a serial terminal (for example Minicom or PuTTY) and connect the board with the following settings:
20
21* Speed: 115200
22* Data: 8 bits
23* Parity: None
24* Stop bits: 1
25
26After resetting the board, the following message will appear on the corresponding
27serial port:
28
29.. code-block:: console
30
31 *** Booting Zephyr OS build v3.4.0-rc1-108-gccfbac8b0721 ***
32 IPC-service HOST [INST 0 - ENDP A] demo started
33 IPC-service HOST [INST 0 - ENDP B] demo started
34 IPC-service HOST [INST 1] demo started
35 HOST [0A]: 1
36 HOST [0A]: 3
37 HOST [0B]: 1
38 HOST [1]: 1
39 ...
40 HOST [0A]: 99
41 IPC-service HOST [INST 0 - ENDP A] demo ended.
42 HOST [0B]: 99
43 IPC-service HOST [INST 0 - ENDP B] demo ended.
44 HOST [1]: 99
45 IPC-service HOST [INST 1] demo ended.
46
47.. code-block:: console
48
49 *** Booting Zephyr OS build v3.4.0-rc1-108-gccfbac8b0721 ***
50 IPC-service REMOTE [INST 0 - ENDP A] demo started
51 IPC-service REMOTE [INST 0 - ENDP B] demo started
52 IPC-service REMOTE [INST 1] demo started
53 REMOTE [0A]: 0
54 REMOTE [0A]: 2
55 ...
56 REMOTE [0A]: 98
57 IPC-service REMOTE [INST 0 - ENDP A] demo ended.
58 REMOTE [0B]: 98
59 IPC-service REMOTE [INST 0 - ENDP B] demo ended.
60 REMOTE [1]: 98
61 IPC-service REMOTE [INST 1] demo ended.
62
63
64Changing the backend
65********************
66
67To change the backend to ``icbmsg``, switch the devicetree
68overlay files as follows:
69
70.. code-block:: console
71
72 west build -b nrf5340dk/nrf5340/cpuapp --sysbuild -- \
73 -DDTC_OVERLAY_FILE=boards/nrf5340dk_nrf5340_cpuapp_icbmsg.overlay \
74 -Dremote_DTC_OVERLAY_FILE=boards/nrf5340dk_nrf5340_cpunet_icbmsg.overlay
75