Can I use openAMP with linux Master and slave scenario? #284
Replies: 11 comments
-
Hi @arsieroluca, |
Beta Was this translation helpful? Give feedback.
-
Hi @arnopo , I was referring to such a scenario: | rpMsg App | <====> | rpMsg App | But I don't find any example... Thank you... |
Beta Was this translation helpful? Give feedback.
-
Here you can find examples: For instance: If you want to play this example on your Linux PC , here a script that you can run ( could need to be adapted to you environment).
|
Beta Was this translation helpful? Give feedback.
-
Hi @arnopo , thank you for your suggestions... but if I'm right this is Linux Master <---> baremetal I need linux Master <---> linux slave both linux have to do different stuff but use rpMsg .. |
Beta Was this translation helpful? Give feedback.
-
For Linux you have 2 ways to use RPMsg:
If this is not enough, @edmooring may have other examples? But you will probably have to do the same thing, adapt the code to your own platform. |
Beta Was this translation helpful? Give feedback.
-
Hi @arnopo, thank you for your suggestions. What I have in mind is to have two linux applications communicate on two different linuxes. One with some peripherals on core 0 and the other with other peripherals on core 1 and compare the data processed in the two applications and on the two linux.
almost... but on the different linux running each on different core..
Thank's a lot |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Thank you @arnopo ! I thought about a shared memory mechanism...and I understand openamp give me an help in that... Zynq platform is a good starting point for me...
Thank you for the example |
Beta Was this translation helpful? Give feedback.
-
This is a lot more difficult than it looks. The problem is that with 2 instances of Linux, each is going to want to control all the resources of the system. Some resources, such as memory, can be partitioned using the device tree. Unfortunately, there are other devices, like interrupt controllers and control registers, that cannot. As far as I can tell, Xilinx does not support two instances of Linux running on the Zynq. If you want to experiment with a configuration with 2 or more instances of Linux, I would suggest using a hypervisor like Xen, and assigning certain peripherals to each Linux instance via passthrough, and setting up an appropriate shared memory region for OpenAMP communication. This should be much easier, but it will still have its challenges. |
Beta Was this translation helpful? Give feedback.
-
@edmooring and @arnopo now I have two way ;)! In my research before asking I read about XEN but I don't understand if it is too onerous for a Zynq or for a x86 dual core (these are the platform on would to try).
Thank's a lot |
Beta Was this translation helpful? Give feedback.
-
Sorry for the delay in getting back to you.
This should be a really good opportunity for learning :) should you decide to move forward with it. |
Beta Was this translation helpful? Give feedback.
-
I found are possible many combinations of use for openAMP (linux and baremetal, linux and rtos, baremetal and baremetal ...) and among these it seems possible to have a inux master and a linux slave.
It is possible to run them together and exchange data using openamp?
Any idea about this?
Beta Was this translation helpful? Give feedback.
All reactions