LPC55s69 - Use shared memory

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LPC55s69 - Use shared memory

748 次查看
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 项奖励
4 回复数

740 次查看
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 项奖励

732 次查看
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 项奖励

715 次查看
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 项奖励

708 次查看
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 项奖励