Hi, yf NuttX.RPTUN abstracts the OpenAMP.RemoteProc and the OpenAMP.RpmsgVirtio NuttX.Rpmsg wraps the OpenAMP.Rpmsg and add more rpmsg api.
I guess you want to ask whether Rpmsg can support different transport layer such as SPI/UART/I2C. Acctually, Rpmsg was designed to be compatible with different transport layer, and VirtIO is a very common transport, we call it Rpmsg VirtIO. And we are implementing the Rpmsg SPI/Uart Transport Layer in NuttX, we divide it to serveral steps: 1. NuttX.Rpmsg wrapper the OpenAMP.Rpmsg but the coupling between NuttX.Rpmsg and NuttX.Rptun (the wrapper of OpenAMP Rpmsg VirtIO and Remoteproc) is severe, so we decoupled the NuttX.Rpmsg and Nuttx.Rptun, here are some PRs: decoupling rptun ping and rptun_virtio_device, rptun ping and rptun. by wyr8899 · Pull Request #11537 · apache/nuttx (github.com)<https://github.com/apache/nuttx/pull/11537> decoupling rptun ping and rptun_virtio_device, rptun ping and rptun. by wyr8899 · Pull Request #11537 · apache/nuttx (github.com)<https://github.com/apache/nuttx/pull/11537> rptun: Strip rpmsg and rptun. Extract common rpmsg api in rptun.c to rpmsg.c, rpmsg provide rpmsg_ops to each backend for specific implementation. by wyr8899 · Pull Request #11536 · apache/nuttx (github.com)<https://github.com/apache/nuttx/pull/11536> rpmsgfs: decoupling rpmsgfs server and rpmsg virtio. by wyr8899 · Pull Request #11591 · apache/nuttx (github.com)<https://github.com/apache/nuttx/pull/11591> 2. Implement the Rpmsg SPI/UART Transport in NuttX, we has implemented the Rpmsg UART transport and verified in STM32 board in our internal Git, and the design and coding of Rpmsg SPI transport has been finished, we will upstream when they have been fully verified in some projects. 3. Implement the Rpmsg SPI/UART Transport in Linux, then the NuttX can communicate with Linux via Rpmsg VirtIO, Rpmsg Uart, Rpmsg SPI. ________________________________ Bowen Wang, wangbow...@xiaomi.com From: yfliu2008<mailto:yfliu2...@qq.com.INVALID> Date: 2024-01-26 13:00 To: dev<mailto:dev@nuttx.apache.org> Subject: [External Mail]RPTUN and RPMSG Dear experts, I am wondering where we can find high level introduction about the RPTUN and RPMSG concepts in NuttX? I can't find explanations of the two NuttX drivers and their relationship with the two OpenAMP components "RemoteProc" and "RPMsg". Can we simply take that the "NuttX.RPTUN" abstracts the "OpenAMP.RemoteProc" and the "NuttX.RPMSG" wraps the "OpenAMP.RPMsg"? Can we also take that RPMSG models the communication channel between master and a remote core, like other master/slave buses such as SPI/I2C, thus various proxy drivers (like block, uart, syslog etc) for remote to use can be built on top of the RPMSG bus? Regards, yf #/******本邮件及其附件含有小米公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件! This e-mail and its attachments contain confidential information from XIAOMI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!******/#