This page describes a procedure that has been successfully used by a Linux community member to apply Xenomai 2.6.3 patches to a Xilinx Linux kernel available from our GIT for Zynq-7000 AP SoC. Please refer to the Xenomai 2.6.3 release announcement for further information.

Dr. Jeremy Brown and Brad Martin provide a nice comparison in their paper: "How fast is fast enough? Choosing between Xenomai and Linux for real-time applications" which compares the performance of unmodified Linux, preempt_rt patched Linux and Xenomai on a ARM Cortex platform running at 720 MHz.

Xenomai for Zynq-7000 AP SoC Linux

Download

Patch

  • Apply patch xenomai-2.6.3/ksrc/arch/arm/patches/zynq/ipipe-core-3.8-zynq-pre.patch to the Kernel.
  • Apply patch xenomai-2.6.3/ksrc/arch/arm/patches/ipipe-core-3.8.13-arm-1.patch to the Kernel.
  • Apply patch xenomai-2.6.3/ksrc/arch/arm/patches/zynq/ipipe-core-3.8-zynq-post.patch to the Kernel.

Build

  • Execute prepare-kernel.sh --arch=arm --linux=$KERNEL_PATH
  • Compile the kernel


Important Notes:

  • The support of RPMsg is not enabled in the patch revision Xenomai-2.6.3. This means that the configuration xilinx_zynq_defconfig which activates it by default, will not work.As a result, it is necessary to disable the support of RPMsg ((remoteproc) and of CPU_HOTPLUG prior to compiling the kernel.
  • Neither the patch procedure above, nor the resultant code has been validated by Xilinx engineering.
  • Additional Xenomai-supporting code can be found in the GIT repository of the developers who provided this work. Please refer to https://github.com/synapticon/linux-xlnx.git, branch xlnx_3.8.

Related Links