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 the AMD embedded product portfolio of devices, including AMD Zynq™ 7000 SoCs, Zynq UltraScale+™ MPSoCs, and Versal™ adaptive SoCs, andMicroBlaze™ processor andMicroBlaze V processor cores. Our offering is built on a foundation of advanced features, including pioneering security and virtualization software drivers that are intricately woven into the fabric of Zynq and Versal devices. This synergy unlocks the potential to craft ingenious, interconnected, and distinct systems that meet the demands of modern embedded applications.

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

Build & Development Tools

Linux

Linux® is the most prevalent operating system used by AMD products. AMD provides EDF Linux OS and the Embedded Development Framework (EDF), aYocto Project™ based environment andLinux distribution, which includes source code and Yocto recipe files from ourGIT repository, enabling Linux support for AMD silicon through in-house build systems or third-party tools.EDF Linux OS is a customized, non-commercial Linux development project designed for development on AMDVersal™ adaptive SoCs,Zynq™ UltraScale™ MPSoCs,Zynq 7000 SoCs, andMicroBlaze™ processors.

The Linux kernel support in AMD EDF releases tracks the LTS Kernel. 

Build Tools

AMD currently offers two tools to build and deploy embedded Linux solutions. The first is AMD EDF, built on the open-source Yocto Project™, and the second isPetaLinux, which is being superseded by AMD EDF. Both tools provide a quick way to build an embedded Linux image, with EDF also supporting more advanced use cases. 

Development Tools

The AMD Vitis™ unified software platform, 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

RTOS & Library Partners

RTOS, Hypervisors, and Bare-Metal

Zephyr Project RTOS

The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on resource-constrained systems: from simple embedded environmental sensors and LED wearables to sophisticated smart watches and IoT wireless gateways.

More information about Zephyr Project can be found at: https://www.zephyrproject.org/

AMD’s Zephyr Project repository can be found at: https://github.com/Xilinx/zephyr-amd

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 athttps://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 atAMD FreeRTOS

ProcessorDevice
64-bit Arm® Cortex®-A72 application processor unit (APU) & 32-bit Cortex-R5 real-time processor unit (RPU)Versal adaptive SoCs
64-bit Arm Cortex-A53 application processor unit (APU) & 32-bit Cortex-R5 real-time processor unit (RPU)Zynq UltraScale+ MPSoCs & Kria™ SOMs
32-bit Arm Cortex-A9 application processor unit (APU)Zynq 7000 SoC devices
32-bit MicroBlaze processorAll AMD device families

RTOS support from AMD and Ecosystem Partners

ProviderProductZynq 7000 SoCZynq UltraScale+ MPSoCVersal Adaptive SoCMicroBlaze
Cortex-A9Cortex-A53Cortex-R5VCUMali-400Cortex-A72Cortex-R5FAIE
AMDBare-MetalYY1YYYYYYY
AMDFreeRTOSYY1YNNYYYY
AMDZephyr6NY4Y4  Y4Y4  
BlackBerryQNX NeutrinoYYNYYYNNN
QNX OS for SafetyYYNYYYNNN
Wind RiverVxWorksYYYNYYYNN
Green HillsINTEGRITY-178NYNNNYNNN
INTEGRITYYYNNNYNNN
u-velOsityNNYNNNY3NN
SiemensNucleusYYYNNNY4NN
PX5PX5 RTOSNYYNNNNNY
MicrosoftAzure RTOSYYYNNNNNY
ETASETAS RTA-OSYYYNNNNNN
SysgoPikeOSYYNNNNNNN
PikeOS for MPUNNYNNNNNN
LynxLynxOS-178NYNNNNNNN
Weston EmbeddedCesium Cs/OS2, OS3YYYNNNNNN
DDC-IDeosYYN

NNNNNN
RTEMSRTEMSYYYNNYYNY
eForceuC3Y1Y1N

NNNNNN
ENEAOSEYYN

NNNNNN
eSOLeT-kernelYYNNNNNNN
Silicon LabsMicrium uc/OS-II / OS-III5YY1YNNNNNN
ScioptaSciopta RTOSY1Y1YNNNNNN
WittensteinSafeRTOSY1NNNNNNNN
SeggeremBOSY1NNNNNNNN

Most RTOS 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
  6. Zephyr OS overview for AMD Arm-based embedded hardware platforms


More information and support resources can be found at the AMD Wiki: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:

  1. Requires services contract

More information and support resources can be found at the AMD Wiki: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:Bare-Metal and Libraries.

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

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.

AMD Embedded Development Framework (EDF) and Yocto Project™

As theYocto 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 that can be used to create tailored Linux images for embedded devices.” The AMD Embedded Development Framework is based on theYocto Project. Learn more aboutAMD EDF

AMD EDF and PetaLinux

Both flows 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. However, thePetaLinux tools have now been superseded by AMD EDF. Please see theAMD PetaLinux Tools page for more information: 

Linux

ProviderProductDistributionVersal Adaptive SoCZynq UltraScale+ MPSoCZynq 7000 SoCMicroBlaze
AMDAMD EDFYoctoYYYY* *MicroBlaze V only
PetaLinuxYoctoYYYY
YoctoYoctoYYYY
CanonicalUbuntuDebianY1YNN
Wind RiverWind River LinuxYoctoYYYN
Foundies.ioFoundriesFactoryYoctoYYNN
SiemensSokol Flex OSYoctoNYYN
Sokol Omni OSDebianNYNN
TimeSysLinux ServicesYoctoYYYN
MontaVistaCGX/CGEYoctoNYYN
ArchLinuxARMArchLinuxARMN/ANNYN
  1. Beta release for VCK190

More information and support resources can be found at the AMD Wiki: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 athttps://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 athttps://github.com/Xilinx/arm-trusted-firmware.

Support & Resources

UltraFast™ Embedded Design Methodology Guide

This guide is organized around important functional areas that map to specific skill sets within development teams.

Download

Download the latest PetaLinux tools.

Wiki

Learn about Linux, Yocto, Xen, RTOS, Ubuntu and more.

Video Library

Curated video playlist for Embedded Software