| .. _ipc_multi_endpoint_sample: |
| |
| IPC Service - Multi-endpoint Sample Application |
| ############################################### |
| |
| This application demonstrates how to use IPC Service with multiple endpoints. |
| By default, it uses the ``icmsg_me`` backend. |
| You can also configure it to use the ``icbmsg`` backend. |
| |
| Building the application for nrf5340dk/nrf5340/cpuapp |
| ***************************************************** |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/subsys/ipc/ipc_service/multi_endpoint |
| :board: nrf5340dk/nrf5340/cpuapp |
| :goals: 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 |
| |
| After resetting the board, the following message will appear on the corresponding |
| serial port: |
| |
| .. code-block:: console |
| |
| *** Booting Zephyr OS build v3.4.0-rc1-108-gccfbac8b0721 *** |
| IPC-service HOST [INST 0 - ENDP A] demo started |
| IPC-service HOST [INST 0 - ENDP B] demo started |
| IPC-service HOST [INST 1] demo started |
| HOST [0A]: 1 |
| HOST [0A]: 3 |
| HOST [0B]: 1 |
| HOST [1]: 1 |
| ... |
| HOST [0A]: 99 |
| IPC-service HOST [INST 0 - ENDP A] demo ended. |
| HOST [0B]: 99 |
| IPC-service HOST [INST 0 - ENDP B] demo ended. |
| HOST [1]: 99 |
| IPC-service HOST [INST 1] demo ended. |
| |
| .. code-block:: console |
| |
| *** Booting Zephyr OS build v3.4.0-rc1-108-gccfbac8b0721 *** |
| IPC-service REMOTE [INST 0 - ENDP A] demo started |
| IPC-service REMOTE [INST 0 - ENDP B] demo started |
| IPC-service REMOTE [INST 1] demo started |
| REMOTE [0A]: 0 |
| REMOTE [0A]: 2 |
| ... |
| REMOTE [0A]: 98 |
| IPC-service REMOTE [INST 0 - ENDP A] demo ended. |
| REMOTE [0B]: 98 |
| IPC-service REMOTE [INST 0 - ENDP B] demo ended. |
| REMOTE [1]: 98 |
| IPC-service REMOTE [INST 1] demo ended. |
| |
| |
| Changing the backend |
| ******************** |
| |
| To change the backend to ``icbmsg``, switch the devicetree |
| overlay files as follows: |
| |
| .. code-block:: console |
| |
| west build -b nrf5340dk/nrf5340/cpuapp --sysbuild -- \ |
| -DDTC_OVERLAY_FILE=boards/nrf5340dk_nrf5340_cpuapp_icbmsg.overlay \ |
| -Dremote_DTC_OVERLAY_FILE=boards/nrf5340dk_nrf5340_cpunet_icbmsg.overlay |