Hello,
I am currently working on the i.MX8M Mini processor and especially on the i.MX 8M Mini Evaluation Kit.
My goal is to be able to pass Ethernet frames through the Cortex-A53 and the Cortex-M4.
I was interested in the available means to exchange data between the A53 and the M4 and I saw that it was possible to use the RPMsg protocol.
So I tested this protocol by downloading a binary on the M4, loading the RPMsg driver on the A53 and writing on the corresponding tty from the user space of the A53.
Before I go any further with my software development, I have a few questions that I thought you might find answers to:
- According to NXP documentation (GitHub - NXPmicro/rpmsg-lite: RPMsg implementation for small MCUs), it says that the RPMsg protocol uses master/remote communication. Thus, the remote is just waiting for a message from the master. Once the message is received from the master, the remote processes the data and then replies to the master. So my question is: is the RPMsg protocol half-duplex or full-duplex?
- If it is full-duplex, does the RPMsg protocol support having two multi-threaded applications (one on each processor) exchanging data simultaneously over the same RPMsg link?
- More generally, do you recommend using RPMsg to transit Ethernet frames?