How to exchange data buffers between processors

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

How to exchange data buffers between processors

Jump to solution
660 Views
Eddy1
Contributor V

Hi:

I'm currently working on the communication between M7 and A55 on the i.MX8MP platform. Due to the large amount of data being transferred, the officially provided RPMsg demo does not meet the requirements. However, I have seen examples of DDR buffer on other platforms. Please refer to the attachment. Is there anything similar from NXP?

 

Tags (1)
0 Kudos
Reply
1 Solution
605 Views
Eddy1
Contributor V

Hi:

Thank you for your reply. I have resolved the issue. I use RPMsg to send control commands and status. For large amounts of data, the M4 core copies it to memory via SDMA, and then the A core directly copies it from the corresponding shared address.

View solution in original post

0 Kudos
Reply
2 Replies
647 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @Eddy1 

rpmsg本身就是基于DDR实现的数据交换。关于增大payload数据量,可以参考下面这个文章。

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Modify-RPMSG-buffer-payload-size/ta-p/17...

Best Regards,
Zhiming

0 Kudos
Reply
606 Views
Eddy1
Contributor V

Hi:

Thank you for your reply. I have resolved the issue. I use RPMsg to send control commands and status. For large amounts of data, the M4 core copies it to memory via SDMA, and then the A core directly copies it from the corresponding shared address.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2338007%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHow%20to%20exchange%20data%20buffers%20between%20processors%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2338007%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%3A%3C%2FP%3E%3CP%3EI'm%20currently%20working%20on%20the%20communication%20between%20M7%20and%20A55%20on%20the%20i.MX8MP%20platform.%20Due%20to%20the%20large%20amount%20of%20data%20being%20transferred%2C%20the%20officially%20provided%20RPMsg%20demo%20does%20not%20meet%20the%20requirements.%20However%2C%20I%20have%20seen%20examples%20of%20DDR%20buffer%20on%20other%20platforms.%20Please%20refer%20to%20the%20attachment.%20Is%20there%20anything%20similar%20from%20NXP%EF%BC%9F%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2339906%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20exchange%20data%20buffers%20between%20processors%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2339906%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%EF%BC%9A%3C%2FP%3E%3CP%3E%3CSPAN%3EThank%20you%20for%20your%20reply.%20I%20have%20resolved%20the%20issue.%20I%20use%20RPMsg%20to%20send%20control%20commands%20and%20status.%20For%20large%20amounts%20of%20data%2C%20the%20M4%20core%20copies%20it%20to%20memory%20via%20SDMA%2C%20and%20then%20the%20A%20core%20directly%20copies%20it%20from%20the%20corresponding%20shared%20address.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2338042%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20exchange%20data%20buffers%20between%20processors%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2338042%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F136546%22%20target%3D%22_blank%22%3E%40Eddy1%3C%2FA%3E%20%3CBR%20%2F%3E%3CBR%20%2F%3Erpmsg%20itself%20is%20based%20on%20DDR%20implementation%20of%20data%20exchange.%20For%20increasing%20the%20amount%20of%20payload%20data%2C%20you%20can%20refer%20to%20this%20post%20below.%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fi-MX-Processors-Knowledge-Base%2FModify-RPMSG-buffer-payload-size%2Fta-p%2F1799540%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fi-MX-Processors-Knowledge-Base%2FModify-RPMSG-buffer-payload-size%2Fta-p%2F1799540%3C%2FA%3E%3CBR%20%2F%3E%3CBR%20%2F%3EBest%20Regards%2C%20%3CBR%20%2F%3EZhiming%3C%2FP%3E%3C%2FLINGO-BODY%3E