RPMsg

RPMsg (Remote Processor Messaging) is a protocol enabling inter-core communication in heterogeneous multicore systems.

Implementations

Protocol RPMsg is present in the Linux kernel,[1][2] has been demonstrated in Zephyr (operating system),[3][4] FreeRTOS,[5] Cadence XOS,[6] ThreadX,[7] QNX[8] and is also available as a stand-alone component for microcontroller-based systems.[9][10]

Most of the RPMsg implementations are developed as open-source.[2][9][10][11]

History

The first implementation of RPMsg was developed for the Linux kernel by Ohad Ben-Cohen.[12][13][14][15] It was first used in Android Ice Cream Sandwich, on the Galaxy Nexus phone, to enable offloading of cpu-intensive multimedia tasks from the ARM Cortex-A9 cores, running the Linux Kernel, to the ARM Cortex-M3 cores, running the TI-RTOS OS. Several semiconductor companies have since added support for RPMsg, including Texas Instruments,[16] STMicroelectronics,[17] Xilinx,[11][18] NXP Semiconductors,[10] Renesas Electronics[19] and Nordic Semiconductor.[20]

References

  1. "Remote Processor Messaging (rpmsg) Framework — The Linux Kernel documentation". www.kernel.org. Retrieved 2022-02-25.
  2. "Linux/Documentation/staging/rpmsg.rst - Linux Cross Reference - Bootlin". lxr.bootlin.com. Retrieved 2019-09-04.
  3. Project, Zephyr (2019-02-20). "The Zephyr Project Demonstrates IoT Innovation at Embedded World". Zephyr Project. Retrieved 2022-03-05.
  4. RPMsg Component, NXP Micro, 2022-02-16, retrieved 2022-03-05
  5. RPMsg Component, NXP Micro, 2022-02-16, retrieved 2022-03-05
  6. RPMsg Component, NXP Micro, 2022-02-16, retrieved 2022-03-05
  7. RPMsg Component, NXP Micro, 2022-02-16, retrieved 2022-03-05
  8. RPMsg Component, NXP Micro, 2022-02-16, retrieved 2022-03-05
  9. "RPMsg-Lite User's Guide: RPMsg Component". nxpmicro.github.io. Retrieved 2016-09-27.
  10. "NXPmicro/rpmsg-lite". GitHub. Retrieved 2016-09-27.
  11. "Xilinx Wiki - OpenAMP". www.wiki.xilinx.com. Retrieved 2016-09-27.
  12. "Introducing a generic AMP/IPC framework [LWN.net]". lwn.net. Retrieved 2022-02-24.
  13. "LKML: Ohad Ben-Cohen: [GIT PULL] adding rpmsg and remoteproc to 3.3". lkml.org. Retrieved 2022-02-24.
  14. "LKML: Ohad Ben-Cohen: [PATCH 0/7] Introducing a generic AMP framework". lkml.org. Retrieved 2022-02-24.
  15. "A Generic AMP/IPC Framework For Linux". www.phoronix.com. Retrieved 2022-02-24.
  16. "3.6.2.3. RPMsg Quick Start Guide — Processor SDK Linux for AM65X Documentation". software-dl.ti.com. Retrieved 2022-02-25.
  17. "Linux RPMsg framework overview - stm32mpu". wiki.st.com. Retrieved 2022-02-25.
  18. Aboelhassan, Mustafa O. E.; Bartik, Ondrej; Novak, Marek (November 2017). "Embedded multi-core systems for mixed-critical applications with RPMsg protocol based on xilinx ZYNQ-7000". 2017 7th IEEE International Conference on Control System, Computing and Engineering (ICCSCE): 162–167. doi:10.1109/ICCSCE.2017.8284398.
  19. "Renesas RPMsg".
  20. "nRF5340: Multiprotocol RPMsg — nRF Connect SDK 1.9.99 documentation". developer.nordicsemi.com. Retrieved 2022-03-05.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.