IPC communication

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

IPC communication

跳至解决方案
3,273 次查看
sharmila_devada
Contributor III

Hi,

I am using iMx8QX processor.  I have compiled the bsp for both linux and free rtos. Now next task is to provide communication between them. But I need to provide secure IPC communication. Whether RPmsg is using secured IPC ? RPmsg is the only one way for communication ? RPMsg works in kernel as a module(.ko),and the demo(pingpong) don't receive any data from other source ,the data it send is produced by itself,So how does the RPMsg receive data from user application and How can I transport data between A9 user application and M4 user application ?

 Thank you,

Regards,

Sharmila

0 项奖励
1 解答
2,782 次查看
sharmila_devada
Contributor III

Hi ajmalali,

 Now I am able to send 1024 bytes between 2 cores. All we need to do is increase the buffer size to required bytes.

In Linux side,  Change the value of the below macro in imx_rpmsg.c and  virtio_rpmsg_bus.c

#define RPMSG_BUF_SIZE      (1024)
In Free RTOS side, Change the value of the below macro in rpmsg_config.h

#define RL_BUFFER_PAYLOAD_SIZE (1008)

在原帖中查看解决方案

0 项奖励
7 回复数
2,782 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Sharmila

one can look at presentation

Clusters & Infotainment: Introduction to the i.MX 8 System Controller Unit 

and Linux L4.9.88 for i.MX 8QuadXPlus Beta2 ---expand-->SCFW Porting Kit

Alpha / Beta BSPs for Microprocessors|NXP 

 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
2,782 次查看
sharmila_devada
Contributor III

Hi igor,

Please provide the answer for the above question.

Thank You,

Regards,

Sharmila

0 项奖励
2,781 次查看
ajmalali
Contributor III

Hi Sharmila,

I have tested up to 496 bytes transfer as suggested in the SDK 2.3 RPMsg echo application readme.

The data was received at the A35 side with out any loss, However it seems that anything above 256 bytes are divided in to multiple messages in the A35 side (Linux). ie. the first 256 bytes were received as a single message and the rest as another one. In such case i had to read twice for reading the entire message. 

Regards,

Ajmal

0 项奖励
2,783 次查看
sharmila_devada
Contributor III

Hi ajmalali,

 Now I am able to send 1024 bytes between 2 cores. All we need to do is increase the buffer size to required bytes.

In Linux side,  Change the value of the below macro in imx_rpmsg.c and  virtio_rpmsg_bus.c

#define RPMSG_BUF_SIZE      (1024)
In Free RTOS side, Change the value of the below macro in rpmsg_config.h

#define RL_BUFFER_PAYLOAD_SIZE (1008)

0 项奖励
2,781 次查看
ajmalali
Contributor III

Hi sharmila,

Good to hear that it worked.

Just to clarify, were you able to receive the entire data as a single message or multiple messages?

Regards,

Ajmal

0 项奖励
2,781 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Sharmila

this part is preproduction part and not fully supported yet.

It will be fully supported after public release. So additional support

can be obtained through local nxp marketing office.

Worldwide Locations|NXP 

Best regards
igor

0 项奖励
2,781 次查看
sharmila_devada
Contributor III

Hi igor,

Thank you for your support.

Is there any size limit for RPMsg data transfer ? Maximum how many bytes I can send from Cortex A35 to Cortex M4 using Rpmsg APIs ?

Thank You,

Regards,

Sharmila

0 项奖励