eRPC: embedded Remote Procedure Call system for multichip embedded systems and heterogeneous multicore SoCs
The result's identifiers
Result code in IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F27116051%3A_____%2F18%3AN0000002" target="_blank" >RIV/27116051:_____/18:N0000002 - isvavai.cz</a>
Result on the web
<a href="https://github.com/EmbeddedRPC/erpc" target="_blank" >https://github.com/EmbeddedRPC/erpc</a>
DOI - Digital Object Identifier
—
Alternative languages
Result language
angličtina
Original language name
eRPC: embedded Remote Procedure Call system for multichip embedded systems and heterogeneous multicore SoCs
Original language description
eRPC (Embedded RPC) is an open source Remote Procedure Call (RPC) system for multichip embedded systems and heterogeneous multicore SoCs. Unlike other modern RPC systems, eRPC distinguishes itself by being designed for tightly coupled systems, using plain C for remote functions, and having a small code size (<5kB). It is not intended for high performance distributed systems over a network. eRPC does not force upon you any particular API style. It allows you to export existing C functions, without having to change their prototypes. (There are limits, of course.) And although the internal infrastructure is written in C++, most users will be able to use only the simple C setup APIs shown in the examples below. A code generator tool called erpcgen is included. It accepts input IDL files, having an .erpc extension, that have definitions of your data types and remote interfaces, and generates the shim code that handles serialization and invocation. erpcgen can generate either C/C++ or Python code. The NXP eRPC implementation: - Provides transparent function call interface to remote services - Scalable from bare metal to Linux - Configurable memory and threading policies - Focus on embedded systems - Intrinsic support for C - Modular, lightweight implementation - Abstracted transport interface - RPMsg-Lite is the primary transport for multicore
Czech name
—
Czech description
—
Classification
Type
R - Software
CEP classification
—
OECD FORD branch
20201 - Electrical and electronic engineering
Result continuities
Project
<a href="/en/project/7H14001" target="_blank" >7H14001: Embedded multi-core systems for mixed criticality applications in dynamic and changeable real-time environments</a><br>
Continuities
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)
Others
Publication year
2018
Confidentiality
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Data specific for result type
Internal product ID
eRPC
Technical parameters
https://github.com/EmbeddedRPC/erpc Lightweight but scalable, targeted to embedded systems Small generated code size to allow usage on multicore parts with small memory size Abstracted transport interface Serialization layer is abstracted and replaceable Small size of serialized data Designed to work well with C, but flexible enough to support object-oriented languages Asynchronous notifications from server to client Multithreading of servers when built with an RTOS Unique specification of a function to be called Provisions for matching response messages to request messages Versioning of services Minimize any latency impact
Economical parameters
Open source software
Owner IČO
—
Owner name
NXP Semiconductors