Vitis Software Development Workflow - 2025.2 English - UG1400

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
UG1400
Release Date
2025-11-20
Version
2025.2 English

The following figure shows the embedded software application development workflow for the Vitis unified software platform.

Figure 1. Embedded Software Application Development Workflow
  • Hardware engineers design the logic and export information required by software development from the AMD Vivado™ Design Suite to an XSA archive file.
  • Software developers import XSA into the Vitis software platform by creating a platform. Application acceleration projects use the platform heavily. To unify the Vitis workspace architecture for all kinds of applications, software development projects now migrate to platform and application architecture. A platform includes hardware specification and software environment settings.
  • Domain is the name for the software environment settings. Domains are also a part of a platform.
  • Software developers create applications based on the platform and domains.
  • You can debug applications in the Vitis Unified IDE.
  • In a complex system, several applications run at the same time and communicate with each other. So the system level verification needs to be done as well.
  • After everything is ready, the Vitis Unified IDE can help to create boot images which initialize the system and launch applications.
    Note:

    The Vitis Unified IDE offers support for two types of XSA and corresponding platforms. One is called fixed XSA with a fixed platform. The other is called extensible XSA with an extensible platform.

    • A fixed XSA, which includes a complete device image generated within Vivado, establishes a fixed platform for embedded development.
    • An extensible XSA is for acceleration development purposes. During the linking stage in v++, the system creates a comprehensive device image for generating BOOT.bin. The BOOT.bin is for boot operations for acceleration development.

    If you use an extensible platform to create bare-metal applications, you can encounter the issue "cannot find corresponding devices."

    For more information about fixed platform and extensible platform, refer to Fixed Platforms versus Extensible Platforms in the Embedded Design Development Using Vitis (UG1701).