Hero Slide Images

AMD Embedded Software Ecosystem

2024.1 Release Now Available

Download Now
Hero Slide Images

AMD Embedded Software Ecosystem

What's New

Overview

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.

2574500-embedded-software-stack

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™ MPSoCsZynq 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.

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 Baremetal

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.

freertos-logo

A FreeRTOS kernel port is available for the following AMD adaptative SoCs, FPGAs, and SOMs: 

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

More information and support resources for FreeRTOS on AMD products can be found at AMD FreeRTOS.

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

Info: 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:

Info: 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.

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
  • xilsecure – Security
  • xilrsa – Security

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

Info: 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. AMD’s Arm Trusted Firmware port is released and available at https://github.com/Xilinx/arm-trusted-firmware.

Resources

Videos
Training

Training & Support

AMD offers designers a full suite of training and support options for their Zynq™ Ultrascale+™ MPSoC applications to include design methodologies, video tutorials, developer's forums, Wiki, on-line-support, design services, FAQs and Blogs to insure that your application gets to market on time.

Quick Links