Application Development and Deployment

Application Development and Deployment

This section of the getting started guide provides walk through style examples using the AMD Embedded Development Framework (EDF) for application development and deployment using the pre-built image, segmented configuration enabled workflows, and Yocto Project™ recipes.

Table of Contents

Application Development and Deployment

image-20250328-112619.png

Applications targeting Adaptive SoCs typically consist of hardware and software components. Hardware components include PL and/or AIE payloads typically provided as PDI and/or xclbin.

Software components include device drivers (for example, Linux kernel modules) and software libraries / applications (Linux user-space). In Linux, hardware payloads are packaged as firmware binaries (for example, PDI with device tree binary overlay (dtbo)). Different aspects of application development can be performed on the target, or on a host PC using a cross-development SDK environment.

This allows for testing, debugging, and iterating over changes quickly. Once the application is stable and ready for release, the Yocto Project build system provides a way to package applications for production deployment.

Software Application Development on Target

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3258089893/Software+Application+Development#Software-Application-Development-on-Target

On-target development is convenient because you can use native compilers and tools and a workflow most developers are used to, similar to doing native x86 development on a workstation.

You can install a rich set of dev packages from the package feed and use familiar build systems such as make, autotools, cmake, or meson without having to set up a cross-development environment.

Software Application Development using SDK

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3258089893/Software+Application+Development#Software-Application-Development-using-SDK

An SDK for cross-development on an x86 host is useful when a user does not have access to a board for on-target development. Depending on the project, it can speed up the build task compared to building on-target. The downside is that the content of the SDK is fixed and it is not possible to install additional dev packages or utilities into an existing SDK whereas on target, packages can be installed from the package feed.

Hardware Application Development

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3258090078/Hardware+Application+Development#Hardware-Application-Development

This section covers how to generate PL images compatible with a base design or the EDF pre-built images, using Segmented Configuration. This enables different payload (PL or other) to be loaded or re-loaded from Linux at run time, speeding up development (test on running system) and enabling dynamic payload management on deployed systems with Linux/U-Boot as the system manager (for example version management, fallback, recovery).

Application Deployment using Yocto Recipies

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3258090263/Application+Deployment+using+Yocto+Recipes+AMD+Versal+device+portfolio#Application-Deployment-using-Yocto-Recipes

Once applications have been created, the Yocto build system can be used to package and manage deployment. This might mean integration into the image build or using a package stream or container store to enable over the air updates to the running system.

Child Pages

Trademarks

Yocto Project and all related marks and logos are trademarks of The Linux Foundation. This website is not, in any way, endorsed by the Yocto Project or The Linux Foundation.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

© 2025 Advanced Micro Devices, Inc. Privacy Policy