Vitis Software Development Workflow - 2024.2 English

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

Document ID
UG1400
Release Date
2024-11-13
Version
2024.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. Platform was heavily used by application acceleration projects. 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.
  • The software environment settings are called domains, which are also a part of a platform.
  • Software developers create applications based on the platform and domains.
  • Applications can be debugged in the Vitis 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 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: fixed XSA with a fixed platform and extensible XSA with an extensible platform. A fixed XSA, which includes a complete device image generated within Vivado, is employed to establish a fixed platform tailored for embedded development. On the other hand, the extensible XSA is used for acceleration development purposes. During the linking stage in V++, the comprehensive device image required for generating BOOT.bin for boot operations is created, specifically for acceleration development. So if you use extensible platform to create bare-metal application, you might encounter issue, for example "can not find corresponding devices." For more information about fixed platform and extensible platform, refer to Fixed Platform vs Extensible Platform in UG1393.