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, and MicroBlaze™ processor and MicroBlaze 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), a Yocto Project™ based environment and Linux distribution, which includes source code and Yocto recipe files from our GIT 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 AMD Versal™ adaptive SoCs, Zynq™ UltraScale™ MPSoCs, Zynq 7000 SoCs, and MicroBlaze™ 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 is PetaLinux, 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 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 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 processor All AMD device families

RTOS support from AMD and Ecosystem 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
AMD Zephyr6 N Y4 Y4     Y4 Y4    
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 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 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 that can be used to create tailored Linux images for embedded devices.” The AMD Embedded Development Framework is based on the Yocto Project. Learn more about AMD 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, the PetaLinux tools have now been superseded by AMD EDF. Please see the AMD PetaLinux Tools page for more information: 

Linux

Provider Product Distribution Versal Adaptive SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD AMD EDF Yocto Y Y Y Y* *MicroBlaze V only
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: 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.

Support & Resources