LPC55s69 - Use shared memory

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC55s69 - Use shared memory

977 Views
malo_mabon
Contributor I

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 :

  • one of 1024 uint16_t (2048 bytes),
  • one of 112 uint16_t (224 bytes).

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

0 Kudos
Reply
4 Replies

969 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

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

0 Kudos
Reply

961 Views
malo_mabon
Contributor I

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

0 Kudos
Reply

944 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

Yes, with mailbox mechanism, we can only send maximal 32 bit non-zero data to each other each time.

0 Kudos
Reply

937 Views
malo_mabon
Contributor I

Hello,

And this is the fastest way to send lots of data from core 0 to core 1 ?

Thanks,

Malo

0 Kudos
Reply