There are many system software components needed in order to design and deploy a fully functioning system based on a Xilinx SoC, MPSoC or FPGA. This software is a combination of components developed and delivered by Xilinx as well as software that is open source and freely available and the support for such software will vary depending on the software in question. In general, Xilinx will support the latest 2 major versions (currently 2016.x and 2017.x) of the system software and tools that it delivers as part of PetaLinux and the Xilinx SDK. For the publicly available open source software, support should first be obtained via the forum or mailing list identified below in the self-support column. Assisted support via service request is provided on an exception basis as outlined in the table below. All other content on the Wiki is provided "as is" and support is available via the Embedded Forums.

Software
aaaaaaaaaaaaaaaaaaaaaa
Overview
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Source
aaaaaaaaaaaaaaaaaaaaaaaaa
Documentation
aaaaaaaaaaaaaaaaaaaaaaaa
Self-Support
Topics Supported via Service Request
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Not Supported via Service Request
SDK
  • SDK GUI
  • ToolChain
  • TCF/XSDB
  • XSCT/ HSI / TCF / XSDB
  • Performance Analysis
  • Bootgen and the flash writer tool
  • Xilinx provided libraries
  • Standalone drivers
  • Board Support Packages
The Xilinx SDK is a collection of tools used for doing Embedded SW Development, Debug, Performance Optimization, and Deployment. It includes facilities for generating project specific BSPs, libraries, and example code. Additionally, XSDB is the debug tool incorporated in the Xilinx Software Command LIne Tool (XSCT) and in the XSDK GUI.
Embedded SW on Github
Embedded Development Tools Forum
  • Most recent 2 major releases
  • Optimizations/customizations
FSBL
First Stage Boot Loader. Configure PS & PL resources, Load Boot loader images from non volatile memories such as NAND, SD, eMMC and QSPI to volatile memory such as DDR, TCM and OCM. Hand off to Second stage bootloader. Support Image Encryption and Decryption.
Embedded SW on Github
Embedded Linux Forum
  • Most recent 2 major releases
  • Optimizations/customizations
PMU FW
The Platform Management Unit (PMU) is critical to the proper operation of a Zynq US+ MPSoC-based solution. Xilinx provides source which builds binaries tested for such proper system operation.
Though customers are enabled with sources and tools to rebuild PMU firmware, customers should carefully consider modification of any software due to potential impact on proper system operations.
For those customers who choose to modify PMU Firmware, Xilinx provides support only to enable customers to build and debug such code. Due to the deeply embedded nature of this code, Xilinx is unable provide support which ensures customers of proper system operation subsequent to modification.
Only rarely, and with consideration does Xilinx expect customers to modify PMU-firmware. For those customers who do choose to modify the code, support by Xilinx will be limited to use of Xilinx tools to modify and rebuild the sources, and to those functions which are included in Xilinx releases.
Embedded SW on Github
Embedded Linux Forum
  • Most recent 2 major releases
  • Optimizations/customizations
Power Management
This Power Management Framework handles several use cases scenarios. For example, Linux provides basic power management capabilities such as idle, hotplug, suspend, resume, and wakeup. The kernel relies on the underlining APIs to execute power management decisions, but most RTOS's do not have this capability. Therefore they rely on user implementation, which is made easier with use of the Power Management Framework and the XilPM library.
Embedded SW on Github
Embedded Linux Forum
  • Xilinx provided SW for supported use cases
  • Optimizations/customizations
ATF
Properly developed and tested ARM Trusted Firmware is fundamental to recommended/supported operation of the APU. The binaries, built with source code provided by Xilinx, are supported and tested for Xilinx-enabled use cases and features including CSU access, AMP and power management support.
Only rarely, and with consideration does Xilinx expect customers to modify ATF. For those customers who do choose to modify the code, support by Xilinx will be limited to use of Xilinx tools to modify and rebuild the sources, and to those functions which are included in Xilinx releases.
ATF on Github
Embedded Linux Forum
  • Xilinx provided ATF
  • Optimizations/customizations
U-boot, Drivers and Flash Parts
Xilinx U-Boot is an open source project based on http://git.denx.de, that is used as a second stage boot loader in order to boot Linux OS on Xilinx HW Platforms including Microblaze, Zynq-7000 and Zynq Ultrascale+ devices. Along with boot loader functionality it offers some essential device drivers like UART, GPIO, I2C etc. for Xilinx HW platforms. It also lists the latest Flash devices tested, and up streams Xilinx patches.
U-Boot on Github
U-Boot Wiki


Flash Parts:
Embedded Linux Forum
  • Xilinx provided U-boot, features enabled in default configuration
  • Features not enabled in default configuration
  • Optimizations/customizations
Linux Kernel and Drivers
Xilinx Linux is an open source project based on the kernel.org Linux kernel, which provides the latest kernel and all the essential device drivers and kernel frameworks needed by Xilinx hardware platforms. As part of the project Xilinx patches are also up-streamed as necessary.
Linux on Github
Embedded Linux Forum
  • Xilinx drivers
  • Kernel optimizations and customizations
  • 3rd Party Drivers
  • Kernel version mismatch with release version
PetaLinux Tools & PetaLinux BSPs
PetaLinux is a Xilinx Linux development tool and contains everything necessary to create, configure, build, test, package and deploy Embedded Linux systems on a Xilinx Hardware and QEMU Emulation Platform. It provides board support packages for Xilinx and third-party boards with prebuilt images. It uses the Yocto build system under the hood.
PetaLinux Product Page
Embedded Linux Forum
  • Most recent 2 major releases
  • Kernel optimizations/Customizations
  • Yocto features not tested/utilized by Xilinx
  • Creation of custom recipes
  • Custom build scripts for PetaLinux
Yocto
Xilinx uses Yocto eSDK build system within our PetaLinux product which is the exclusive extent to which we test Yocto. Xilinx does provide Yocto recipes for all key components but we do not test these outside of the PetaLinux tools context. It is incumbent on our customers to address any issues between their own in-house Yocto build system and the Yocto recipes provided by Xilinx.
meta-xilinx on Github
meta-petalinux on Github
meta-openembedded on Github
meta-linaro on Github
meta-virtualization on Github
meta-openamp on Github
meta-xilinx-tools on Github
meta-qt5 on Github
Mailing Lists:
  • Suspected bugs in Xilinx meta layers (meta-xilinx, meta-petalinux, meta-xilinx-tools, meta-openamp)
  • Changes in the Yocto flow
  • Modifications made to meta-xilinx, meta-petalinux, meta-xilinx-tools, meta-openamp
  • Meta-xilinx, meta-petalinux, meta-xilinx-tools, meta-openamp layer versions not in sync with appropriate Linux Kernel, U-Boot and ATF tags
FreeRTOS
Xilinx XSDK includes a tested port of FreeRTOS for Xilinx silicon. This includes critical drivers needed to ensure basic multi-threaded support of FreeRTOS on Xilinx products. Xilinx bare-metal drivers can be used within a single-threaded context on FreeRTOS. It is beyond scope of Xilinx to provide support to customers who wish to use the bare-metal drivers in a multi-threaded application context.
Embedded SW on Github
FreeRTOS Forum
  • XSDK Reference designs
  • Xilinx BSPs
  • Optimizations/Customizations
  • Driver modifications for multi-threaded application support
Xen
Xilinx provides essential components for a Xen hypervisor based solution consisting of Linux and bare-metal guests.
Xen Project
Xen on Github
Embedded Linux Forum
  • Petalinux reference designs
  • Optimizations/Customizations
  • Topics unrelated to Linux or Xilinx bare-metal guests
OpenAMP
Xilinx provides documentation and code for usage of OpenAMP and libMetal within example designs. Customers should consult the source code and documentation for extension to alternate solutions.
OpenAMP on Github
meta-openamp on Github
libmetal on Github
Xilinx specific issues:

General Issues:
  • Xilinx documented use cases and reference designs
  • General OpenAMP Issues
QEMU
Xilinx’s QEMU is an open source functionally accurate, virtual emulation platform. It enables customers to develop their embedded software exactly as they would on the actual hardware. Instead of having to carry around cables and boards you can develop your software entirely on your laptop. Xilinx’s QEMU is free of charge. It is delivered as part of Xilinx’s Petalinux, SDK and Yocto’s meta-xilinx layer. Xilinx provides QEMU virtual emulation platforms for Zynq 7000, Zynq Ultrascale+ MPSoC and Microblaze™
QEMU on Github
Embedded Linux Forum
  • Xilinx QEMU
  • Optimizations/customizations
Third party OS
Whilst Xilinx works with its 3rd party software ecosystem partners to provide software and solutions for Xilinx products, those partners are responsible to provide all direct support, technical and business engagement.
Various Vendors

  • No Support via SRs

Lightweight TCP/IP (lwIP)
Xilinx provides an open source TCP/IP networking stack for embedded systems called Lightweight IP (lwIP). lwIP is a small, community-developed light-weight TCP/IP stack that can be used in bare-metal applications where networking is required. Xilinx support is limited to use of the community sources on Xilinx devices. Correction of lwIP bugs or other issues within the lwIP code base are presumed by Xilinx to take place within the developer community.
Embedded SW on Github
lwIP Mailing Lists
  • XSDK Reference designs
  • Xilinx BSPs
  • Optimizations/customizations
Mali-400 Libraries
Mali support is enabled/supported by Xilinx only for Linux. This support is provided via a GPL-licensed Linux kernel module as well as a Xilinx-built and provided user-space application binary. Xilinx is unable to routinely provide sources corresponding to the user-space application. Support is limited to use of the Xilinx-provided software in form of PetaLinux tools, or separately available Yocto recipes for Mali support.
Mali-400 SW download

  • Xilinx provided binaries
  • Optimizations/customizations