Hello,
We try to use RPMSG lite in order to send data from core0 to core1. We would like ton send two tables of data :
But with RPMSG lite we had to divide the first buffer in two and the transfer time is too long for our application (typically 102us).
We would like to know if there is a way to define variables in the shared memory. The core 0 will modify the variables and the core 1 will read those variables when they are ready.
Thanks,
Malo
Hi
the LPC55xx/LPC55Sxx provides a simple hardware means called Inter-CPU Mailbox mechanism for communication. On the software, many methods can help to implement communications with both cores. The software methods could be simple or complex. The shared memory is the common base in the methods. Here, the hardware Inter-CPU Mailbox communication mechanism will be introduced.
For detail, I recommend you refer AN12335 LPC55xx/LPC55Sxx Dual Core Communication, Chapter 2.3.
it's simple and readable.
You can also refer "mailbox" demo inside MCUXpresso SDK package.
Have a nice day,
Jun Zhang
Hello,
Thanks for the reply.
Is the mailbox data length transfer limited to 32bits ? In this case, we have to make (2048+224)/4 = 568 mailbox transfer and I am afraid that this will take too long time for my application.
Have a nice day,
Malo
Yes, with mailbox mechanism, we can only send maximal 32 bit non-zero data to each other each time.
Hello,
And this is the fastest way to send lots of data from core 0 to core 1 ?
Thanks,
Malo