/
Supporting Protocols
Supporting Protocols
Protocol | Features/Notes | VIRTIO Compat | OS Support | Material | Developed By | Used By | License(s) |
---|---|---|---|---|---|---|---|
remoteproc/rpmsg | Upstream Linux kernel implementation, assumes Linux master, tight coupling between remoteproc/rpmsg. | Limited - rpmsg depends on remoteproc for platform-specific transport mechanism. | Linux, Binary FW (ELF) | TI/Wizery/Linaro | GPL-2.0 | ||
OpenAMP remoteproc/rpmsg | Implementation of remoteproc/rpmsg on top of the OpenAMP libmetal framework. Focus on decoupling remoteproc/rpmsg, allowing non-Linux master cores. Interest in exploring rpmsg protocol implementation on alternative transport mechanisms (e.g. socket, UART, SPI, PCIe). | Limited - with plans to extend | Linux, Zephyr, FreeRTOS, Bare metal | https://drive.google.com/file/d/198kbwHojBHeM8QFnmSJd7dz5FLCpXPM9/view https://www.openampproject.org/ | Linaro/OpenAMP project (Xilinx, ST, Wind River) | Xilinx, ST, Wind River |
|
rpmsg-lite | Lightweight RPMSG implementation targeting resource-constrained MCUs. Usable as transport layer for e.g. eRPC. MISRA C-2012 adherence, good basis for ISO26262 | Limited - transport mechanism implemented in platform-specific code. | Bare metal, FreeRTOS, QNX, ThreadX, Zephyr, XOS | NXP | BSD-3-Clause | ||
IPCF | No updates in Linux SHM driver in 3-4 years | N | Linux, AUTOSAR, FreeRTOS, Zephyr, Bare metal | NXP | BSD-3-Clause | ||
ICCOM | Open issues:
| N | Linux, ??? | Bosch |
| ||
NvSciIpc | General IPC/stream framework that supports secure buffer sharing between threads, processes, VMs (inter-SoC), and across SoCs (via PCIe) | N | Linux, QNX | NVIDIA |
|
please list more ...
Observations
- In-kernel remoteproc/rpmsg is tightly coupled, and assumes a Linux-based master booting a slave core/OS (not suitable for > ASIL B).
- In-kernel rpmsg depends on remoteproc / remoteproc platform drivers provide the transport.
- Current rpmsg implementations do not make use of virtio backends for abstracted transport and control mechanisms (virtio-scmi, net/vsock, mmio, etc).
- Current remoteproc/rpmsg protocols are not defined in the OASIS VIRTIO spec, only generally through documentation and a number of papers (need alignment/collaboration with Linaro/OASIS)
- OpenAMP driving new work on rpmsg protocol standardization, abstraction, and new transport mechanisms, as well as devicetree integration (good opportunity for AGL/Linaro collab)
- rpmsg-lite currently provides the best starting point for RTOS→Linux processor control and the shortest path to ISO26262, could also benefit from the advancements being made in OpenAMP.
Related content
Support VirtIO in AGL
Support VirtIO in AGL
More like this
2023 Embedded Open Source Summit/Automotive Linux Summit - Prague
2023 Embedded Open Source Summit/Automotive Linux Summit - Prague
More like this
Meeting Notes 2020
Meeting Notes 2020
More like this
2023 - Common Device I/F between Virt-AGL and Non-Virt AGL - Phase 2
2023 - Common Device I/F between Virt-AGL and Non-Virt AGL - Phase 2
More like this
2021 Roadmap
2021 Roadmap
More like this
Meeting Notes 2023
Meeting Notes 2023
More like this