-
Libraries
- Iwip
Network TCP/IP stack
- xilisf
Flash
- Standalone BSP
Board support package
- xilffs
FAT file system
- xilfpga
PL/FPGA management (bitstream loading)
- xilskey
Security xilsecu
- xilsecure
Security
- xilrsa
Security
AMD Adaptive SoC Embedded Software Ecosystem
Empowering Rapid Innovation and Connectivity through Software
The AMD embedded software ecosystem empowers developers to accelerate their journey from idea to market-ready embedded systems. With a comprehensive suite of tools, runtimes, and environments, this ecosystem is tailored to seamlessly harness the capabilities of AMD's embedded product portfolio of devices, including AMD Zynq™ 7000 SoCs, Zynq UltraScale+™ MPSoCs, Versal™ adaptive SoCs, AMD MicroBlaze™ processor and MicroBlaze V processor cores. Our offering is built on a foundation of advanced features, including pioneering security and virtualization software drivers, intricately woven into the fabric of AMD Zynq and Versal devices. This synergy unlocks the potential to craft ingenious, interconnected, and distinct systems that meet the demands of modern embedded applications.

Build & Development Tools
Linux
AMD Linux is the most prevalent operating system used by AMD products. AMD provides the PetaLinux tools for a simplified Linux development flow, as well as source code and Yocto recipe files from our GIT repository so that Linux support for AMD silicon can be provided by in-house build systems or third-party tools. The AMD Linux project is a customized, non-commercial Linux development project catered towards development on AMD Versal™ adaptive SoCs, Zynq™ UltraScale™ MPSoCs, Zynq 7000 SoCs, and MicroBlaze™ processors.
Linux kernel support for the AMD releases include the following:
- 2023.x is v6.1
- 2022.x is v5.15
- 2021.x is v5.10
Build Tools
AMD offers two tools to build and deploy embedded Linux solutions. These are PetaLinux by AMD and the Open-Source Project of Yocto . PetaLinux offers the user a GUI to quickly build an embedded Linux image, and Yocto can be used by more experienced users to customize Linux for their boards.
AMD products are supported by a comprehensive set of open-source resources to develop, boot, run, debug, and maintain Linux-based applications for an AMD SoC or emulation platform. We offer example applications, kernel configurations, Yocto recipes, multiprocessing and real-time solutions, and device drivers. Linux open-source developers will find familiar sources, tools, and support forums to learn, develop, and interact with others of like interests, needs, and passion.
Pre-Built and Open-Source Images
Building the Kernel & Boot Images
- Building the Kernel
- Building the Root File System
- Building the Linux Device Tree
- Building the U-Boot Image
Real Time Linux
Emulation Models and Drivers
Development Tools
The Vitis™ unified software platform, AMD Software Development Kit (SDK), and ecosystem Partner tools offer a wide choice of development environments that enable SoC-like C/C++ programming of the Zynq and Versal platforms.
AMD Software Environments
- Vitis unified software platform - Embedded software development for Zynq UltraScale+™ MPSoC & RFSoC and Versal adaptive SoC devices.
- Software Development Kit (SDK) - Design and debug for Zynq 7000 SoCs, Zynq UltraScale+ MPSoCs, and MicroBlaze processors.
(Note: As of 2019.1, SDK is classified as a legacy tool and will no longer be updated.)
Ecosystem Software Development and Tools
RTOS & Library Partners
RTOS, Hypervisors, and Bare-metal
RTOS
"A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time application process data as it comes in, typically without buffering delays.” (wikipedia.org)
Key factors in an RTOS are keeping it simple and lightweight. Other factors are minimal interrupt latency and contact thread switching latency. An RTOS is valued more for how quickly and how deterministically it can respond than for the amount of complexity it can handle.
FreeRTOS
FreeRTOS is a market-leading RTOS from Amazon Web Services that supports more than 35 architectures and was downloaded once every 3 minutes during 2017. It is professionally developed, strictly quality controlled, robust, supported, and free to embed in commercial products without any requirement to expose your proprietary source code (reference: https://www.freertos.org/RTOS.html).
More information on FreeRTOS can be found at https://www.freertos.org/RTOS.html.
A FreeRTOS kernel port is available for the following AMD adaptive SoCs, FPGAs, and SOMs
More information and support resources for FreeRTOS on AMD products can be found at AMD FreeRTOS
Processor | Device |
---|---|
64-bit Arm® Cortex®-A72 application processor unit (APU) & 32-bit Cortex-R5 real-time processor unit (RPU) | Versal™ adaptive SoC devices |
64-bit Arm Cortex-A53 application processor unit (APU) & 32-bit Cortex-R5 real-time processor unit (RPU) | Zynq™ UltraScale+™ MPSoC devices & Kria™ SOMs |
32-bit Arm Cortex-A9 application processor unit (APU) | Zynq 7000 SoC devices |
32-bit MicroBlaze™ processor | All AMD device families |
RTOS support from AMD and Eco-System Partners
Provider | Product | Zynq 7000 SoC | Zynq UltraScale+ MPSoC | Versal Adaptive SoC | MicroBlaze | |||||
---|---|---|---|---|---|---|---|---|---|---|
Cortex-A9 | Cortex-A53 | Cortex-R5 | VCU | Mali-400 | Cortex-A72 | Cortex-R5F | AIE | |||
AMD | Bare-metal | Y | Y1 | Y | Y | Y | Y | Y | Y | Y |
AMD | FreeRTOS | Y | Y1 | Y | N | N | Y | Y | Y | Y |
BlackBerry | QNX Neutrino | Y | Y | N | Y | Y | Y | N | N | N |
QNX OS for Safety | Y | Y | N | Y | Y | Y | N | N | N | |
Wind River | VxWorks | Y | Y | Y | N | Y | Y | Y | N | N |
Green Hills | INTEGRITY-178 | N | Y | N | N | N | Y | N | N | N |
INTEGRITY | Y | Y | N | N | N | Y | N | N | N | |
u-velOsity | N | N | Y | N | N | N | Y3 | N | N | |
Siemens | Nucleus | Y | Y | Y | N | N | N | Y4 | N | N |
PX5 | PX5 RTOS | N | Y | Y | N | N | N | N | N | Y |
Microsoft | Azure RTOS | Y | Y | Y | N | N | N | N | N | Y |
ETAS | ETAS RTA-OS | Y | Y | Y | N | N | N | N | N | N |
Sysgo | PikeOS | Y | Y | N | N | N | N | N | N | N |
PikeOS for MPU | N | N | Y | N | N | N | N | N | N | |
Lynx | LynxOS-178 | N | Y | N | N | N | N | N | N | N |
Weston Embedded | Cesium Cs/OS2, OS3 | Y | Y | Y | N | N | N | N | N | N |
DDC-I | Deos | Y | Y | N |
N | N | N | N | N | N |
RTEMS | RTEMS | Y | Y | Y | N | N | Y | Y | N | Y |
eForce | uC3 | Y1 | Y1 | N |
N | N | N | N | N | N |
ENEA | OSE | Y | Y | N |
N | N | N | N | N | N |
eSOL | eT-kernel | Y | Y | N | N | N | N | N | N | N |
Silicon Labs | Micrium uc/OS-II / OS-III5 | Y | Y1 | Y | N | N | N | N | N | N |
Sciopta | Sciopta RTOS | Y1 | Y1 | Y | N | N | N | N | N | N |
Wittenstein | SafeRTOS | Y1 | N | N | N | N | N | N | N | N |
Segger | emBOS | Y1 | N | N | N | N | N | N | N | N |
Most RTOSs provide some level of certification for different safety standards. Please consult with the OS vendor to determine if it needs your specific needs.
1. No SMP Support
2. Micrium is in maintenance only mode. Weston Embedded is carrying the OS forward under the Cesium brand.
3. Architecture Support Package
4. In development
5. Legacy only, contact Weston Embedded for support
More information and support resources can be found at the AMD Wiki at: Embedded Software Ecosystem.
Virtualization & Hypervisors
AMD provides its customers and partners with key technologies, documentation, and support to enable advanced, multi-OS system designs on our products. Offerings available from our ecosystem include:
Vendor | Product | Versal Adaptive SoC | Zynq UltraScale+ MPSoC | Zynq 7000 SoC |
---|---|---|---|---|
AMD | Xen Hypervisor | Y | Y | N |
BlackBerry | QNX Hypervisor | Y | Y | N |
Wind River | Helix Virtualization Platform | Y | Y | N |
Sysgo | PikeOS Hypervisor | N | Y | Y |
Green Hills | Integrity Multivisor | Y1 | Y1 | N |
Lynx | LynxSecure Separation Kernel Hypervisor | Y | Y | N |
Dornerworks | SEL4 | Y | Y | N |
Siemens | Nucleus Hypervisor | N | Y | Y |
General Dynamics Mission Systems | OKL4 Microvisor | N | Y | N |
1. Requires services contract
More information and support resources can be found at the AMD Wiki at: Embedded Software Ecosystem.
Bare-metal and Libraries
AMD provides additional libraries and bare-metal drivers. These libraries are developed specifically for AMD devices.
More information and support resources for bare-metal drivers and libraries can be found at the AMD Wiki at: Bare-metal and Libraries.
Embedded Linux
Open-source Linux is the most popular operating system to run on embedded hardware, and AMD has been providing support for Linux on their FPGA and adaptive SoC devices since the introduction of the AMD Virtex™-II Pro FPGA in 2001. As well as PetaLinux and Yocto build environments, AMD provides commercial support for targeting AMD devices from several third-party vendors, including Certified Ubuntu by Canonical Ltd.
Yocto
As the Yocto Project states: “The Yocto Project is an open-source collaboration project that helps developers create custom Linux-based systems for embedded products, regardless of the hardware architecture. The project provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices which can be used to create tailored Linux images for embedded devices.”
PetaLinux
The PetaLinux tools offer everything necessary to customize, build, and evaluate embedded Linux solutions on AMD processing systems. Tailored to accelerate design productivity, the solution works with the AMD hardware design tools to ease the development of Linux systems for Versal™ adaptive SoCs, Zynq™ UltraScale+™ MPSoCs, Zynq 7000 SoCs, and MicroBlaze™ processors.
Linux
Provider | Product | Distribution | Versal Adaptive SoC | Zynq UltraScale+ MPSoC | Zynq 7000 SoC | MicroBlaze |
---|---|---|---|---|---|---|
AMD | PetaLinux | Yocto | Y | Y | Y | Y |
Yocto | Yocto | Y | Y | Y | Y | |
Canonical | Ubuntu | Debian | Y1 | Y | N | N |
Wind River | Wind River Linux | Yocto | Y | Y | Y | N |
Foundies.io | FoundriesFactory | Yocto | Y | Y | N | N |
Siemens | Sokol Flex OS | Yocto | N | Y | Y | N |
Sokol Omni OS | Debian | N | Y | N | N | |
TimeSys | Linux Services | Yocto | Y | Y | Y | N |
MontaVista | CGX/CGE | Yocto | N | Y | Y | N |
ArchLinuxARM | ArchLinuxARM | N/A | N | N | Y | N |
1. Beta Release for VCK190
More information and support resources can be found at the AMD Wiki at: Embedded Software Ecosystem.
Open Source Projects
QEMU
QEMU (Quick EMUlator) is an open-source, cross-platform, system emulator. It is an executable that runs on an x86 Linux operating system. QEMU can emulate a full system (commonly referred to as the guest), such as an AMD ZCU102 or VCK190 board.
The emulation includes the processors, peripherals, and other hardware on the development board—allowing you to launch an operating system or other applications on the virtualized hardware.
QEMU can also interact with the host machine through interfaces, such as CAN, Ethernet, and USB—enabling real-world data from the host to be used in the guest machine in real time.
Xen Hypervisor
Xen is a Type 1 hypervisor defined, maintained, and provided to the open-source community by the Xen Project. Xen allows multiple instances of operating system(s) or bare-metal applications to execute on AMD Zynq™ UltraScale+™ MPSoCs. Additional information on the Xen hypervisor can be found at the Xen Project Getting Started page.
U-Boot
U-Boot is an open-source Universal Boot Loader that is frequently used in the Linux community. AMD provides a GIT tree located at https://github.com/Xilinx/u-boot-xlnx, that includes a U-Boot to run on AMD boards.
Arm Trusted Firmware
Arm® Trusted Firmware provides a reference to secure software for the ARMv8-A architecture as well as implementations of various interface standards like PSCI (Power State Coordination Interface) and Secure monitor code for interfacing to normal world software. The AMD Arm Trusted Firmware port is released and available at https://github.com/Xilinx/arm-trusted-firmware.