Embedded SW Support

Embedded SW Support

Embedded SW Support

There are many system software components needed in order to design and deploy a fully functioning system based on a AMD Adaptive SoC, Adaptive SoC or FPGA. This software is a combination of components developed and delivered by AMD 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, AMD will support the latest 2 major versions (currently 2025.x and 2024.x) of the system software and tools that it delivers as part of PetaLinux and AMD SDK. Note that "support" means that we will assist in resolving issues via the forums or service requests (if eligible) but does not guarantee any patches or backporting of patches which are handled on a case-by-case basis. 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.

Softwareaaaaaaaaaaaaaaaaaa

Overviewaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Sourceaaaaaaaaaaaaaaaaaaaaaa

Documentationaaaaaaaaaaaaaaaaaa

Self-Support

Topics Supported via Service Requestaaaaaaaaaaaaaaaaa

Not Supported via Service Request

AMD Embedded Development Framework (EDF)

The AMD Embedded Development Framework (EDF) is a common framework to support platform level development and embedded software solutions for AMD adaptive SoC and FPGA products, as well as their evaluation boards.

Embedded SW on Github

AMD Embedded Development Framework (EDF)

Embedded Linux Forum

  • Most recent 2 major releases

  • Optimizations/customizations

SDK

  • SDK GUI

  • ToolChain

  • TCF/XSDB

  • XSCT/ HSI / TCF / XSDB

  • Performance Analysis

  • Bootgen and the flash writer tool

  • AMD provided libraries

  • Standalone drivers

  • Board Support Packages

The AMD 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. AMD 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, AMD provides support only to enable customers to build and debug such code. Due to the deeply embedded nature of this code, AMD is unable provide support which ensures customers of proper system operation subsequent to modification.
Only rarely, and with consideration does AMD expect customers to modify PMU-firmware. For those customers who do choose to modify the code, support by AMD will be limited to use of AMD tools to modify and rebuild the sources, and to those functions which are included in AMD 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

  • AMD 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 AMD, are supported and tested for AMD-enabled use cases and features including CSU access, AMP and power management support.
Only rarely, and with consideration does AMD expect customers to modify ATF. For those customers who do choose to modify the code, support by AMD will be limited to use of AMD tools to modify and rebuild the sources, and to those functions which are included in AMD releases.

ATF on Github

Embedded Linux Forum

  • AMD provided ATF

  • Optimizations/customizations

U-Boot, Drivers and Flash Parts

AMD 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 AMD HW Platforms including Microblaze, Zynq-7000, Zynq Ultrascale+ and Versal devices. Along with boot loader functionality it offers some essential device drivers like UART, GPIO, I2C etc. for AMD HW platforms. It also lists the latest Flash devices tested, and up streams AMD patches.

U-Boot on Github

U-Boot Wiki

 

Flash Parts:

Embedded Linux Forum

  • AMD provided U-boot, features enabled in default configuration

  • Features not enabled in default configuration

  • Optimizations/customizations

  • U-Boot SPL

Linux Kernel and Drivers

AMD Linux is an open source project based on the http://kernel.org Linux kernel, which provides the latest kernel and all the essential device drivers and kernel frameworks needed by AMD hardware platforms. As part of the project AMD patches are also up-streamed as necessary.

Linux on Github

Linux Drivers Documentation

Embedded Linux Forum

  • AMD drivers

  • Kernel optimizations and customizations

  • Open Source bugs in kernel including back-porting of patches

  • 3rd Party Drivers

  • Kernel version mismatch with release version

  • RT Linux, SE Linux

  • Non-AMD specific Linux features (contact appropriate Linux mailing list)

PetaLinux Tools & PetaLinux BSPs

PetaLinux is a AMD Linux development tool and contains everything necessary to create, configure, build, test, package and deploy Embedded Linux systems on a AMD Hardware and QEMU Emulation Platform. It provides board support packages for AMD 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 AMD

  • Creation of custom recipes

  • Custom build scripts for PetaLinux

  • Open Source User Space Applications

  • 32-bit Applications and Root File System (Multilib)

  • Yocto Build system (Example: Buildroot, OpenWRT etc.)

Yocto

AMD uses Yocto eSDK build system within our PetaLinux product which is the exclusive extent to which we test Yocto. AMD provide Yocto recipes for all key components. It is incumbent on our customers to address any issues between their own in-house Yocto build system and the Yocto recipes provided by AMD.

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

For reporting bugs/patchs, please use the appropriate mailing list:

 

For anything else, post to:

Embedded Linux Forum

  • 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

  • Devtool Utility in Yocto

FreeRTOS

AMD XSDK includes a tested port of FreeRTOS for AMD silicon. This includes critical drivers needed to ensure basic multi-threaded support of FreeRTOS on AMD products. AMD bare-metal drivers can be used within a single-threaded context on FreeRTOS. It is beyond scope of A<D 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

  • AMD BSPs

  • Optimizations/Customizations

  • Driver modifications for multi-threaded application support

  • Baremetal interrupt applications running on the FreeRTOS platform

Xen

AMD 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 AMD bare-metal guests

OpenAMP

AMD 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

AMD specific issues:

 

General Issues:

  • AMD documented use cases and reference designs

  • General OpenAMP Issues

QEMU

AMD’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. AMD’s QEMU is free of charge. It is delivered as part of AMD’s Petalinux, SDK and Yocto’s meta-xilinx layer. AMD 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 AMD works with its 3rd party software ecosystem partners to provide software and solutions for AMD products, those partners are responsible to provide all direct support, technical and business engagement.

Various Vendors

 

  • No Support via SRs

  • Debian, Android, etc

Embedded Ubuntu

AMD has partnered with Canonical to provide certified Ubuntu images for AMD Silicon. As it is a partner provided image, support is limited from AMD and the partner/community is responsible to provide all direct support, technical and business engagement.

Install Ubuntu on Xilinx | Ubuntu

 

  • Kria SOM Application provided by AMD on Certified Ubuntu Images

  • Kernel Customization

  • Optimizations

  • Kernel build

  • Custom image certification

  • Custom applications developed on Canonical Ubuntu

Lightweight TCP/IP (lwIP)

AMD 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. AMD support is limited to use of the community sources on AMD devices. Correction of lwIP bugs or other issues within the lwIP code base are presumed by AMD to take place within the developer community.

Embedded SW on Github

lwIP Mailing Lists

  • XSDK Reference designs

  • AMD BSPs

  • Optimizations/customizations

Mali-400 Libraries

Mali support is enabled/supported by AMD only for Linux. This support is provided via a GPL-licensed Linux kernel module as well as a AMD-built and provided user-space application binary. AMD is unable to routinely provide sources corresponding to the user-space application. Support is limited to use of the AMD-provided software in form of PetaLinux tools, or separately available Yocto recipes for Mali support.

Mali-400 SW download

 

  • AMD provided binaries

  • Optimizations/customizations

Application Notes and Example Designs

AMD Application Notes are provided as-is and only the specific conditions and scenarios described in the application note are supported.

 

 

 

  • Exact conditions specified in application note

  • Porting application notes to different versions

  • Modifications to the design in any way

Third Party Application Software

Whilst AMD works with its 3rd party software ecosystem partners to provide software and solutions for AMD products, those partners are responsible to provide all direct support, technical and business engagement.

Examples: 

  • MCAL (Microcontroller Abstraction Layer) drivers & applications based on AUTOSAR or equivalent stacks

 

  • Vendor specific forums or dedicated vendor support contact.

  • No Support via SRs

  • No Support via SRs