README.rst
1.. zephyr:code-sample:: ipc-icmsg
2 :name: IPC service: icmsg backend
3 :relevant-api: ipc
4
5 Send messages between two cores using the IPC service and icmsg backend.
6
7Overview
8********
9
10This application demonstrates how to use IPC Service and the icmsg backend with
11Zephyr. It is designed to demonstrate how to integrate it with Zephyr both
12from a build perspective and code.
13
14Building the application for nrf5340dk/nrf5340/cpuapp
15*****************************************************
16
17.. zephyr-app-commands::
18 :zephyr-app: samples/subsys/ipc/ipc_service/icmsg
19 :board: nrf5340dk/nrf5340/cpuapp
20 :goals: debug
21 :west-args: --sysbuild
22
23Open a serial terminal (minicom, putty, etc.) and connect the board with the
24following settings:
25
26- Speed: 115200
27- Data: 8 bits
28- Parity: None
29- Stop bits: 1
30
31Reset the board and the following message will appear on the corresponding
32serial port, one is host another is remote:
33
34.. code-block:: console
35
36 *** Booting Zephyr OS build zephyr-v3.2.0-323-g468d4ae383c1 ***
37 [00:00:00.415,985] <inf> host: IPC-service HOST demo started
38 [00:00:00.417,816] <inf> host: Ep bounded
39 [00:00:00.417,877] <inf> host: Perform sends for 1000 [ms]
40 [00:00:01.417,114] <inf> host: Sent 488385 [Bytes] over 1000 [ms]
41 [00:00:01.417,175] <inf> host: Wait 500ms. Let net core finish its sends
42 [00:00:01.917,266] <inf> host: Stop network core
43 [00:00:01.917,297] <inf> host: Reset IPC service
44 [00:00:01.917,327] <inf> host: Run network core
45 [00:00:01.924,865] <inf> host: Ep bounded
46 [00:00:01.924,896] <inf> host: Perform sends for 1000 [ms]
47 [00:00:02.924,194] <inf> host: Sent 489340 [Bytes] over 1000 [ms]
48 [00:00:02.924,224] <inf> host: IPC-service HOST demo ended
49
50
51.. code-block:: console
52
53 *** Booting Zephyr OS build zephyr-v3.2.0-323-g468d4ae383c1 ***
54 [00:00:00.006,256] <inf> remote: IPC-service REMOTE demo started
55 [00:00:00.006,378] <inf> remote: Ep bounded
56 [00:00:00.006,439] <inf> remote: Perform sends for 1000 [ms]
57 [00:00:00.833,160] <inf> sync_rtc: Updated timestamp to synchronized RTC by 1)
58 [00:00:01.417,572] <inf> remote: Sent 235527 [Bytes] over 1000 [ms]
59 [00:00:01.417,602] <inf> remote: IPC-service REMOTE demo ended
60 *** Booting Zephyr OS build zephyr-v3.2.0-323-g468d4ae383c1 ***
61 [00:00:00.006,256] <inf> remote: IPC-service REMOTE demo started
62 [00:00:00.006,347] <inf> remote: Ep bounded
63 [00:00:00.006,378] <inf> remote: Perform sends for 1000 [ms]
64 [00:00:01.006,164] <inf> remote: Sent 236797 [Bytes] over 1000 [ms]
65 [00:00:01.006,195] <inf> remote: IPC-service REMOTE demo ended
66