Home
last modified time | relevance | path

Searched full:icmsg (Results 1 – 25 of 38) sorted by relevance

12

/Zephyr-latest/include/zephyr/ipc/
Dicmsg.h23 * @brief Icmsg IPC library API
24 * @defgroup ipc_icmsg_api Icmsg IPC library API
61 /** @brief Open an icmsg instance
63 * Open an icmsg instance to be able to send and receive messages to a remote
71 * @param[in] conf Structure containing configuration parameters for the icmsg
73 * @param[inout] dev_data Structure containing run-time data used by the icmsg
76 * events generated by this icmsg instance. The pointed memory
77 * must be preserved while the icmsg instance is active.
89 /** @brief Close an icmsg instance
91 * Closing an icmsg instance results in releasing all resources used by given
[all …]
Dicmsg_me.h12 #include <zephyr/ipc/icmsg.h>
20 * @brief Multi-endpoint extension of icmsg IPC library
21 * @defgroup ipc_icmsg_me_api Icmsg multi-endpoint IPC library API
48 * It initializes the underlying icmsg instance as one of the initialization
52 * underlying icmsg instance being created.
76 * underlying icmsg instance.
95 /** @brief Wait until the underlying icmsg instance calls bound callback
97 * This function blocks calling thread until the underlying icmsg connection
102 * to make sure that handshake is not performed until the icmsg channel is
112 /** @brief Notify the icmsg_me instance that the underlying icmsg was bound
[all …]
/Zephyr-latest/subsys/ipc/ipc_service/lib/
DKconfig23 bool "icmsg IPC library"
26 Icmsg library
29 rsource "Kconfig.icmsg"
33 bool "icmsg IPC library with multi-endpoint functionality"
37 Multi-endpoint functionality for the icmsg library
DKconfig.icmsg22 backends basing on icmsg library. This time should be relatively low.
37 Enable dedicated workqueue thread for the ICMsg backend.
38 Disabling this configuration will cause the ICMsg backend to
65 Priority of the ICMSG RX work queue thread.
66 The ICMSG library in its simplicity requires the workqueue to execute
71 # The Icmsg library in its simplicity requires the system workqueue to execute
DCMakeLists.txt3 zephyr_sources_ifdef(CONFIG_IPC_SERVICE_ICMSG icmsg.c)
/Zephyr-latest/boards/nordic/nrf54h20dk/
Dnrf54h20dk_nrf54h20-ipc_conf.dtsi10 compatible = "zephyr,ipc-icmsg";
18 compatible = "zephyr,ipc-icmsg";
34 compatible = "zephyr,ipc-icmsg";
42 compatible = "zephyr,ipc-icmsg";
50 compatible = "zephyr,ipc-icmsg";
58 compatible = "zephyr,ipc-icmsg";
/Zephyr-latest/subsys/ipc/ipc_service/backends/
DKconfig.icbmsg5 bool "ICMSG backend with dynamically allocated buffers"
13 ICMsg circular buffer.
27 module-str = ICMSG backend with separate buffers
28 module-help = Sets log level for ICMsg backend with buffers
DKconfig20 bool "ICMSG backend with SPSC packet buffer"
30 bool "ICMSG backend with multi-endpoint support in initiator role"
41 bool "ICMSG backend with multi-endpoint support in follower role"
Dipc_icbmsg.c11 * and uses ICMsg to send references to them.
16 * Single channel (RX or TX) of the shared memory is divided into two areas: ICMsg area
17 * followed by Blocks area. ICMsg is used to send and receive short 3-byte messages.
23 * | ICMsg area | Blocks area |
43 * ICMsg is used to send and receive small 3-byte control messages.
69 * When ICMsg is bounded and user registers an endpoint on initiator side, the backend
86 #include <zephyr/ipc/icmsg.h>
114 /** Flag indicating that ICMsg was bounded for this instance. */
164 struct icmsg_config_t control_config; /* Configuration of the ICMsg. */
183 struct icmsg_data_t control_data;/* ICMsg data. */
[all …]
DKconfig.icmsg_me21 Number of endpoints supported by the multi endpoint ICMSG library.
/Zephyr-latest/boards/nordic/nrf9280pdk/
Dnrf9280pdk_nrf9280-ipc_conf.dtsi10 compatible = "zephyr,ipc-icmsg";
18 compatible = "zephyr,ipc-icmsg";
34 compatible = "zephyr,ipc-icmsg";
42 compatible = "zephyr,ipc-icmsg";
50 compatible = "zephyr,ipc-icmsg";
/Zephyr-latest/doc/services/ipc/ipc_service/backends/
Dipc_service_icbmsg.rst3 ICMsg with dynamically allocated buffers backend
8 The ICMsg just sends references to the buffers.
18 One is reserved for the ICMsg and the other contains equal-sized blocks.
29 * A message containing the block index is sent over ICMsg to the receiver.
30 …The size of the ICMsg queue is large enough to hold messages for all blocks, so it will never over…
33 * When data is no longer needed, the backend sends a release message over ICMsg.
99 Internally, it uses ICMsg for control messages.
110 * **ICMsg area** - An area reserved by ICMsg instance and used to transfer the control messages.
132 #. Calculate the minimum size required for ICMsg area ``icmsg_min_size``, which is a sum of:
134 * ICMsg header size (refer to the ICMsg specification)
[all …]
Dipc_service_icmsg.rst3 ICMsg backend
6 The inter core messaging backend (ICMsg) is a lighter alternative to the
8 memory footprint. The ICMsg backend is build on top of :ref:`spsc_pbuf`.
13 The ICMsg backend uses shared memory and MBOX devices for exchanging data.
60 compatible = "zephyr,ipc-icmsg";
96 - :zephyr:code-sample:`ipc-icmsg`
101 The ICMsg uses two shared memory regions and two MBOX channels.
107 The ICMsg provides just one endpoint per instance.
112 If data caching is enabled, the shared memory region provided to ICMsg must be aligned according to…
204 After this, the ICMsg is bound, and it is ready to transfer packets.
/Zephyr-latest/dts/bindings/ipc/
Dzephyr,ipc-icmsg-me-follower.yaml9 compatible: "zephyr,ipc-icmsg-me-follower"
11 include: zephyr,ipc-icmsg.yaml
Dzephyr,ipc-icmsg-me-initiator.yaml9 compatible: "zephyr,ipc-icmsg-me-initiator"
11 include: zephyr,ipc-icmsg.yaml
Dzephyr,ipc-icbmsg.yaml11 include: zephyr,ipc-icmsg.yaml
/Zephyr-latest/samples/subsys/ipc/ipc_service/icmsg/
DREADME.rst1 .. zephyr:code-sample:: ipc-icmsg
2 :name: IPC service: icmsg backend
5 Send messages between two cores using the IPC service and icmsg backend.
10 This application demonstrates how to use IPC Service and the icmsg backend with
18 :zephyr-app: samples/subsys/ipc/ipc_service/icmsg
Dsample.yaml2 name: IPC Service example integration (icmsg backend)
6 sample.ipc.icmsg:
27 sample.ipc.icmsg.nrf54l15:
46 sample.ipc.icmsg.nrf54l15_no_multithreading:
70 sample.ipc.icmsg.nrf54l15_remote_no_multithreading:
/Zephyr-latest/samples/subsys/ipc/ipc_service/multi_endpoint/remote/boards/
Dnrf5340dk_nrf5340_cpunet.overlay36 compatible = "zephyr,ipc-icmsg-me-follower";
45 compatible = "zephyr,ipc-icmsg-me-follower";
/Zephyr-latest/samples/subsys/ipc/ipc_service/multi_endpoint/boards/
Dnrf5340dk_nrf5340_cpuapp.overlay36 compatible = "zephyr,ipc-icmsg-me-initiator";
50 compatible = "zephyr,ipc-icmsg-me-initiator";
/Zephyr-latest/samples/subsys/ipc/ipc_service/icmsg/remote/boards/
Dnrf5340dk_nrf5340_cpunet.overlay28 compatible = "zephyr,ipc-icmsg";
Dnrf54l15dk_nrf54l15_cpuflpr.overlay25 compatible = "zephyr,ipc-icmsg";
/Zephyr-latest/samples/subsys/ipc/ipc_service/icmsg/boards/
Dnrf5340dk_nrf5340_cpuapp.overlay28 compatible = "zephyr,ipc-icmsg";
Dnrf54l15dk_nrf54l15_cpuapp.overlay25 compatible = "zephyr,ipc-icmsg";
/Zephyr-latest/samples/subsys/ipc/ipc_service/multi_endpoint/
Dsample.yaml2 name: IPC Service example integration (icmsg multi endpoint backend)

12