IPC communication

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

IPC communication

Jump to solution
3,059 Views
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 Kudos
1 Solution
2,568 Views
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)

View solution in original post

0 Kudos
7 Replies
2,568 Views
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 Kudos
2,568 Views
sharmila_devada
Contributor III

Hi igor,

Please provide the answer for the above question.

Thank You,

Regards,

Sharmila

0 Kudos
2,567 Views
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 Kudos
2,569 Views
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 Kudos
2,567 Views
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 Kudos
2,567 Views
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 Kudos
2,567 Views
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 Kudos