On Sat, Jul 22, 2023 at 1:56 AM Ed Sutter <edsutte...@gmail.com> wrote:
> Hi, > I'm in the process of building up Nuttx on the M7 core of an iMX8MP SOC. > I started by creating a new chip and board directory duplicating the imxrt > stuff but renaming them appropriately. From there I've been slowly > creeping up in functionality with each of my needed device interfaces, and > I'm now at a point where I want to implement the RPMSG stuff in Nuttx to > talk to the Linux running on the A53s. I've got my own hack of RPMSG > running using in a Nuttx task using the NXP-SDK code. This just allows me > to send and receive messages between the M7 and the A53. That works fine; > however, I wanna redo this using whatever is the best path to take in Nuttx > for this. > > You need implement rptun to enable OpenAMP, here are some implementation: https://github.com/apache/nuttx/blob/master/arch/arm/src/nrf53/nrf53_rptun.c https://github.com/apache/nuttx/blob/master/arch/risc-v/src/mpfs/mpfs_ihc.c https://github.com/apache/nuttx/blob/master/arch/sim/src/sim/sim_rptun.c > In my case the "remote" processor I want to use RPMSG to communicate with > is in the same silicon, so there is no external interface (serial or > network), its a shared memory interface. I tried building up the > RPMSGSOCKET example but have not had any luck thus far, and then I noticed > RPMSG_UART. Is it reasonable to just make this look like a serial > connection on the Nuttx side, but under the covers use NXP's shared memory > hook to connect to the A53? > Yes, you can use either or both between M7 and A53, please watch the introduction video here: https://www.youtube.com/watch?v=6uehz3WQ0vU Since you want to communicate with Linux kernel, you have to write Linux rpmsg driver. > Thanks > Ed > >