To include eRPC Zephyr, update Zephyr's west.yml:
projects:
- name: erpc
revision: <revision with Zephyr support>
url: <erpc repository>
path: modules/lib/erpc
Then run:
west update erpc
- erpc/zephyr/ - This directory holds all files required for Zephyr module
- erpc/zephyr/module.yml - This file defines module name and Cmake and Kconfig location
- erpc/zephyr/CMakeList.txt - Defines module's includes and source files base on Kconfig
- erpc/zephyr/Kconfig - Defines eRPC module configuration
Kconfig options:
- CONFIG_ERPC - enable eRPC support
- CONFIG_ERPC_TRANSPORT_UART - enable UART transport layer
- CONFIG_ERPC_TRANSPORT_RPMSG_LITE - enable RPMSG-Lite transport layer
- To use RPMSG-Lite transport layer, RPMSG-Lite module is required.
- RPMSG-Lite module has to be included in Zephyr
- Enable RPMSG-Lite module by this options:
- CONFIG_RPMSGLITE=y
- CONFIG_RPMSGLITE_QUEUE=y
- CONFIG_RPMSGLITE_NS=y
- CONFIG_ERPC_ARBITRATED_CLIENT - enable arbitrated client
CMakeLists.txt defines eRPC as Zephyr library. Includes all required directories and source files for Zephyr environment. Optionaly import uart/rpmsg-lite/ns source files.
Samples are located in examples/zephyr/. We can build the examples using west tool:
cd path/to/zephyrproject
west build --sysbuild -b <supported board> modules/lib/erpc/examples/zephyr/matrix_multiply_rpmsglite/ -p
west flash
cd path/to/zephyrproject
west build -b <board> modules/lib/erpc/examples/zephyr/matrix_multiply_uart/ -p
west flash