06-29-2016 03:32 AM
I'm developing a control system based on Digilent's Zybo board using PL logic and both processors. Basically, the idea is to have one processor running a bare-metal application in order to control the FPGA algorithms, and a Linux system running in the other processor in order to provide an Ethernet interface to the outside world (control/data logging). I've been doing some research for several days and it seems that the most appropriate solution would be to use the openAMP framework (correct me if I'm wrong). My idea was to follow openAMP examples and UG1186, but as you may know Zybo is not a supported platform by Xilinx and the only BSPs available does not include these openAMP examples. So, do you think is it possible to easily modify the existing BSP for Zybo (provided by Diligent) to get an openAMP architecture to work on my Zybo platform? Or is there any other easier path?
Maybe it's a stupid question, but I've not much experience on petalinux systems yet!
Thanks for your support!
06-30-2016 02:55 AM
On my opinion and experience the OpenAMP is definitively the right choice for applications where on one CPU you have LX and on other CPU (or others CPUs (plural!)) you are running some BM application specific code.
As you will find, the OpenAMP is in "experimental stage" (e.g. comments inside LX rpmsg device drivers). This means that there are some problems you can hit, if you move "out of the heaven" (e.g your own unsupported board, different memory partitioning, different PL to PS communications, etc).
I did port OpenAMP examples to "not Xilinx supported board (Z7010)". I have posted to this forum the problems and issues I found during my journey.
I have OpenAMP examples successfully running on my "not Xilinx supported board (Z7010)", so it is doable.
You are pretty much on your own to deal with the OpenAMP problems. Good knowledge of LX kernel, ARM CPU (MMU) and JTAG debugging is required to deal with the problems. The good news is that when dealing with problems, you have all required tools and sources at your hands to use and look at.
And not at the last, I am sure that OpenAMP will in the near future move out of "experimental stage" (check which companies/people are behind/pushing OpenAMP and rpmsg).
On my opinion, it is a technology to bet on.
06-30-2016 04:26 AM
Thanks for your point of view! Experienced opinions are always important for not so experienced people on the matter as me!
So the good news are that I've just successfully ported the echo_test example to the ZYBO platform (and it runs fine). To be honest it was pretty simple, just a couple of copy-pastes (from official Xilinx Zedboard 2015.4 BSP to "non-official" Xilinx Zybo 2015.4 BSP) and following UG1186 really carefully, you've always got to put some brains on it though. If anybody is in my same situation I'll briefly explain the steps in detail in order to make it work. But yeah, this is only an example.
I absolutely agree with you, even though it has a lot of potential, this whole thing is pretty new and maybe it's too difficult for me right now. I'll try to go easy, and hopefully by the time I have enough experience with petalinux systems, openAMP moves out of experimental stage. I guess my system will have to wait to get ethernet connectivity ;)
10-19-2016 06:02 PM