RPTUN (Remoteproc Tunnel)
RPTUN (Remoteproc Tunnel) is an efficient inter-core communication framework based on OpenAMP. It primarily addresses the lifecycle management and data exchange issues between the host core (running NuttX) and remote cores in Asymmetric Multiprocessing (AMP) architectures.
The RPTUN framework consists of two core components:
RPTUN Remoteproc: Manages the lifecycle of remote cores, including start, stop, and reset operations.
VirtIO/Vhost RPTUN: Serves as the transport layer for VirtIO, enabling standard VirtIO/Vhost devices to communicate across physical cores.
Additionally, RPTUN exports standard character device interfaces to user space, allowing developers to debug and control through command line or applications.
Target Audience
This documentation is intended for embedded system engineers who need to develop and port multi-core systems in NuttX environment, including:
Application developers who need to use RPTUN for inter-core communication.
Driver developers who need to adapt RPTUN on new hardware platforms (BSP).
Supported RPTUN Services
RPMSG File System
RPMSG Domain (Remote) Sockets
RPMSG UART Driver
RPMSG Net Driver
RPMSG Usersock
RPMSG Sensor Driver
RPMSG RTC Driver
RPMSG MTD
RPMSG Device
RPMSG Block Driver
RPMSG IO Expander
RPMSG uinput
RPMSG CLK Driver
RPMSG Syslog
RPMSG Regulator
Source Files
Framework implementation:
nuttx/drivers/rptun/rptun.cPublic header file:
nuttx/include/nuttx/rptun/rptun.h