Hi all, I'm going to start the development of an application on a ZC706 board. My application has to move a big amount of data between Ethernet, PCIe and a set of custom links, so it has to serve a lot of interrupt sources and to command a lot of DMA operations. My main requisites are:
1) Use of an Axi Interrupt controller connected to the GIC, because of the high number of interrupt sources; 2) Use of Ethernet (in particular TCP); 3) Use of PCIe (at the highest possible speed); 4) In general, fast response time to interrupts and minimum memory copies overhead.
Said that, I have experience only with Microblaze+bare metal application, so I'm wondering which is the best O.S. to use to fulfill these requirements. I'm very attracted by petalinux because it supports SMP, but I don't know how much latency it will introduce (both in terms of execution time and in terms of copies between user and kernel space). Others solutions could be FreeRTOS or RTEMS, however in these cases I will only use one cores, and I don't have enough experience to evaluate this tradeoff. At the end, I don't know if PCIe and Axi interrupt controller are supported (and documented) in the various configurations. Consider that I will use Vivado 2016.2 and eventually Petalinux 2016.2. The information found on the web refers to older versions of them, so I don't know if they are applicable.