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
解決済! 解決策の投稿を見る。
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)
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!
-----------------------------------------------------------------------------------------------------------------------
Hi igor,
Please provide the answer for the above question.
Thank You,
Regards,
Sharmila
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
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)
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
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.
Best regards
igor
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