AMD Embedded Development Framework (EDF)

This page and its sub pages describe the AMD Embedded Development Framework and its use to develop embedded software stacks for AMD adaptive SoC and FPGA products.

Introduction to the AMD Embedded Development Framework

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, along with their evaluation boards.

The framework embraces open-source development and currently includes the following:

  • Support for AMD Vivado Design Suite and Vitis software platform-based flows

  • Prebuilt embedded software stacks (disk images) and pre-configured BSPs to accelerate platform exploration and product development on AMD adaptive SoC and FPGA products and their evaluation boards

    • Get evaluation boards up and running using prebuilt images

    • A rich Linux Kernel and RootFS configuration - minimizing the need to re-build

    • Multi-stage boot architecture with deferred programmable logic load, using Segmented Configuration where available - minimizing the need to re-build and supporting on-target development

    • Supports Vitis software platform based flows through the prebuilt images

  • Open-source tools for embedded software development including a Yocto Project based build environment

  • Linux OS and RTOS based embedded software stacks

  • A common starting point for example and reference designs

  • A curated and common evaluation board experience with recommended flows and configurations

Prebuilt images, source code, and configurations are provided for demonstration purposes only, and are not necessarily suitable outside of a development environment, particularly for production purposes.

Before production deployment of any software-based system, it is recommended that all relevant security updates are applied, and a mechanism for in-field updates is made available throughout the lifetime of the relevant product.

How to Use These Docs

The chapters in the left navigation can be read in two complementary ways, and the same content supports both styles.

Either path lands you in the same set of walkthroughs eventually; the difference is whether you want the conceptual overview before the hands-on steps or afterwards.

Board Selector

Most pages contain content that applies to several evaluation boards. The Board dropdown at the top of the left sidebar (above the search box) filters that content to a single board: blocks tagged with other boards are hidden, and blocks tagged with your selection lose their per-block board badge so the page reads as if it were written for that board only. The selection persists across pages and survives a reload, so you can pick your board a single time and read straight through.

Choose All Boards to see every block on a page at the same time. Each block then carries a small badge listing the boards it applies to, which is useful when you are comparing flows across boards or writing notes that reference more than one board.

Pages that have no per-board content (the cross-cutting reference chapters, for example) ignore the selection and read the same regardless of the dropdown value, so the choice carries forward without surprise when you navigate between board-specific and shared material.

Prebuilt Disk Images and Board Support Packages (BSP) - All You Need to Build a Running System

AMD EDF disk images are created from board support packages (BSP) and are based on a common specification outlined in this documentation. The BSP contains everything needed to build a running image for a board. They can be used to re-build or extend the prebuilt images for AMD evaluation boards, or as a starting point for enabling a custom board (chip-down design).

BSPs contain:

  • The hardware design - AMD Vivado Design Suite project

    • Built from a Vivado Configurable Example Design (CED) - can be extended

    • Delivered as a Tcl script and prebuilt artifacts (used by Yocto Project to re-build prebuilt disk images)

  • The embedded software configuration - Yocto Project based

AMD EDF Linux BSP and Prebuilt Disk Images

Diagram of the AMD EDF Linux BSP contents: a download-only build system that includes every BSP, Yocto Project machine layers (layers and recipes, bitstream / system device tree / .xsa, and documentation), and the generated or downloadable Linux kernel, Vivado project with PS and Vitis support, root filesystem (sysroot), and per-board bootable images.

AMD EDF Linux BSP and prebuilt disk image components overview (Linux-only machine)

Linux-only: Builds the required artifacts necessary for the Linux system to boot (no additional platform features).

For the prebuilt Linux-only machine names (for example MACHINE=versal-2ve-2vm-vek385-revb-sdt-seg for VEK385 RevB), see List of Yocto prebuilt Machine Names for Supported AMD Evaluation Boards.

Supports boot to AMD EDF Linux OS on the target evaluation board

  • AMD Vivado Design Suite project - Downloadable as a Tcl file

  • Prebuilt Vivado tool artifacts - Downloadable, and used by Yocto Project build

  • EDF Linux BSP disk image and EDF Boot Firmware (New devices and families)

    • EDF Boot Firmware: Image selector with recovery (OSPI) and Linux utilities

    • Arm SystemReady compatible boot flow with UEFI

    • Rich Linux: Utilities, libraries, compilers

    • FPGA Manager / DFX Manager Linux utilities for programmable logic (PL) firmware management and load

    • AMD Vitis software platform support: Run your Vitis accelerator on the prebuilt image

    • Access to software and hardware reference designs through package feed: Download and run

    • PL payload - BSP base platform: RAM, DMA, GPIO, etc.

Note

AMD ships prebuilt bootable artifacts only for the multi-domain machines. Linux-only users build the bootable images from the Linux-only MACHINE (for example versal-2ve-2vm-vek385-revb-sdt-seg) themselves.

See the relevant sections of this document for more details on architecture and specifications.

AMD EDF Platform BSP and Prebuilt Disk Images

Diagram of the AMD EDF Platform BSP contents: the same Yocto Project machine layers, Linux kernel, Vivado project with PS and Vitis support, root filesystem (sysroot), and per-board bootable images as the EDF Linux BSP, plus the out-of-box (OOB) components row listing Image Selector, Image Recovery, Xen, OpenAMP, and Hello World (where supported).

AMD EDF Platform BSP and prebuilt disk image components overview (Multi-domain machine).

Platform / Multi-domain: This machine includes the Linux images along with OOB components such as Image Selector, Image Recovery, Xen, OpenAMP, and a Hello World PL payload demo (where supported by the board).

Beyond everything provided by the EDF Linux BSP, the Platform BSP also adds:

  • packagegroup-openampOpenAMP (remoteproc + RPMsg) and libmetal user-space and kernel support for APU-to-RPU communication, plus the OpenAMP demo firmware set (*-openamp-fw-examples) for the RPU

  • packagegroup-xen – the Xen hypervisor and Dom0 tooling, plus the systemd-boot EDF Xen entry (installed by systemd-bootconf-edf when xen is in DISTRO_FEATURES)

  • Domain YAML overlays that declare the RPU execution domains and the shared memory regions used by inter-processor communication (see Domain Configuration Impact on the EDF BSPs for how the domain selection drives the resulting BSP)

  • OOB component set bundled by the multi-domain machines: Image Selector, Image Recovery, Xen, OpenAMP, and a Hello World PL payload demo (where supported by the board)

For the prebuilt multi-domain machine names (for example MACHINE=versal-2ve-2vm-vek385-revb-multidomain for VEK385 RevB) and the OOB container, Image-Recovery, OpenAMP, Xen, and Hello World support matrix, see List of Yocto prebuilt Machine Names for Supported AMD Evaluation Boards.

Note

The EDF Boot Firmware (image selector with OSPI recovery and Linux utilities) is provided for the evaluation boards that support Multi-stage Boot. See the Packaged BSP for AMD Evaluation Boards table below.

Persona-Based Development Flows

AMD EDF takes a unified and open-source approach with pathways to production with relevant additional work by end users or third-party vendors, enabled by an industry-standard tools flow.

A curated evaluation board experience supports rapid platform exploration and easier development paths—but with support for all device features and boot flows to support custom development.

The experience and development flows are based on common specifications and the following stages or user personas:

Four-column diagram of the AMD EDF persona-based development flows. Left to right: Discovery and Evaluation (out-of-the-box examples on a prebuilt image, package feed, or DockerHub for advanced examples; prebuilt binary image), Application Development and Deployment (native or host SDK software development, compatible PL design with the Vitis software platform or Vivado Design Suite, Yocto Project recipes and container-based deployment; prebuilt binary image plus application packages and container images), OS Integration and Development (OS customizations through Yocto Project flows, custom hardware import through gen-machine-conf, custom software domain configuration through domains.yaml; new boot firmware / OS image, optional re-use of the hardware design), and Custom Hardware Development (custom design using AMD Vivado Design Suite or AMD Vitis software platform; rebuild required because the design is not compatible with the prebuilt image, custom board, custom isolation and protection, part-based CED offer options for alignment with the EDF software stack; new boot firmware / OS image plus new HW design artifacts).

AMD EDF persona-based development flows overview

The Development Flow pages (high-level information) and the Getting Started pages (walk-through style tutorials) are split into the personas shown in the preceding diagram.

Key components and features of the framework

Block diagram showing BootROM loading the PLM from primary flash, the PLM loading TF-A, TF-A handing off to U-Boot, and U-Boot booting Linux from the secondary boot device with the PL deferred.

Default multi-stage PDI boot flow used by AMD EDF Versal BSPs.

System memory map specification - Common Specifications

Common Linux kernel configurations and root FS - Common Specifications

Next Steps

The following sub sections provide walk through tutorials, and more details on the flows, architecture, and specification.

We recommend starting with the Development flow pages to get an overview, and then moving to the Getting Started pages, which walk you through booting a prebuilt image on your board.

Device and Evaluation Board Support Table

All AMD adaptive SoC and FPGA products are supported by EDF.

  • Packaged BSP for AMD evaluation boards. See below for current list and additional evaluation boards being added in future releases.

  • All AMD adaptive SoC and FPGA products through the custom board flow: Vivado Design Suite Project (.xsa) to Yocto Project based build using EDF Linux OS.

Packaged BSP for AMD Evaluation Boards

AMD Evaluation Board

EDF Linux BSP

Default Boot Flow

VEK385 RevA/B

Supported from v25.05

Multi-stage boot with deferred PL load

VEK280

Supported from v25.05.1

Single-stage boot from SD card with deferred PL load

VCK190

Supported from v25.05.1

Single-stage boot from SD card with deferred PL load

ZCU104

Supported from v25.05

Single-stage boot from SD card with deferred PL load

ZCU111

Supported from v25.05

Single-stage boot from SD card with deferred PL load

ZCU106

Supported from v25.11

Single-stage boot from SD card with deferred PL load

ZCU102

Supported from v25.11

Single-stage boot from SD card with deferred PL load

VPK120

Supported from v25.11

Single-stage boot from SD card with deferred PL load

VMK180

Supported from v25.11

Single-stage boot from SD card with deferred PL load

VPK180

Supported from v26.06

Single-stage boot from SD card with deferred PL load (QEMU supported; MicroBlaze PMC/PSM multiconfig)

VMK365

Supported from v26.06

Single-stage boot from SD card with deferred PL load (Versal 2VE/2VM)

ZC706

Supported from v26.06

Single-stage boot from SD card with deferred PL load (FSBL multiconfig; QEMU supported)