Creating a Platform Component from XSA - 2024.2 English

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

Document ID
UG1400
Release Date
2024-11-13
Version
2024.2 English

To create a new platform component in the Vitis Unified integrated design environment (IDE), execute the following steps.

  1. Click the File option in the Vitis Unified IDE and select New Component > Platform.
    Tip: You can also select the Create Platform Component command from the Welcome page.
  2. This opens the Create Platform Component wizard.
    • Enter a Component name and Component location and select Next.
    • Select Browse to locate an XSA file or select to create a platform from existing platform, or use the drop down menu to select the built-in XSA files. The built-in fixed XSA files only contains PS initialization. Click Next.
      Note: If you select to create a platform from an existing platform, it copies the platform you specified to your current workspace.
      Note: If you want to support emulation, expand Emulation and select Browse to locate an emulation XSA file.
      Note: The created platform type is determined by the input hardware design type. If the input hardware design is a fixed XSA, a platform for an embedded design is created. If the input hardware design is an extensible XSA, the created platform is extensible platform.
      Note: SDTgen is a built-in tool within the Vitis Unified IDE. It is responsible for reading the XSA file and generating the SDT (system device tree) files. For more information on SDT, refer to System Device Tree. Another built-in tool, Lopper, then parses the SDT and generates the corresponding BSP (Board Support Package) file. To facilitate user debugging of this process and to take advantage of the SDT flow, Advanced options are introduced. These options allow you to switch to a custom version SDTgen tool. Following are the uses of the three advanced options:
      • SDT Source REPO: input customer version SDTgen REPO
        Note: If you encounter issues related to the system device tree or the SDTgen tool, you can use the updated version of the SDTgen tool to help debug the issue. For more information on the system device tree, refer to System Device Tree Repo.
      • Board DTS: input the board name to obtain the corresponding board DTS file. For more information, refer to PetaLinux Tools Documentation: Reference Guide (UG1144) for the corresponding board name.
      • User DTS: to specify the user device tree file (DTSI)
    • After selecting the XSA, the tool reads the XSA and identifies the available processors and operating system domains. Specify the Operating system, and the Processor for the platform, and click Next to proceed to the Summary page.



      Note: When you enable the Generate Boot Artifacts and Generate PMU Firmware options, the tool automatically generates both the FSBL (First Stage Boot Loader) and PMU (Platform Management Unit) firmware components required for your platform if the domain is Standalone. Observe that the Generate Boot Artifacts option is not available for Versal adaptive SoC, as only the PDI file is required.
      Note: When you enable the Generate Device Tree Blob (DTB) option, the tool automatically generates the Device Tree Blob for your platform if the domain is Linux.
      Note: DT Overlay is only for extensible platform or fixed XSA generated by V++ tool to generate device tree blob overlay.

      For option settings, refer to the following table.

      Table 1. Options Setting for Different Device Family
      Device Family Generate Boot Artifacts PMU DTB DTB Overlay
      Zynq The FSBL is necessary for device initialization and should be enabled. No option DTB is only required for Linux system The DTB overlay is required only for Linux systems when loading certain devices after the system is up and running
      ZynnqMP The FSBL is necessary for device initialization and should be enabled. The PMU is not required for the standalone domain but is essential for Linux systems to manage high-security functions. DTB is only required for Linux system The DTB overlay is required only for Linux systems when loading certain devices after the system is up and running
      Versal No option No option DTB is only required for Linux system The DTB overlay is required only for Linux systems when loading certain devices after the system is up and running
    • The Summary page reflects the choices you have made on the prior pages. Review the summary and select Finish to create the Platform component, or select Back to return to earlier pages and change your selections.
When the Platform component is created the vitis-comp.json file for the component is opened in the central editor window as shown for the Linux platform below.

Depending on the OS you selected for your platform, and possibly the processor you chose as well, the contents of the platform vitis-comp.json can vary.

  • For Linux Operating System: As shown above, you need to specify the Bif file, Boot Component Directory, SD Card Directory and as well as the Qemu data. The Qemu Args file are auto-populated by tool.
  • For standalone (baremetal) OS: No special operation is required.
  • For FreeRTOS: No special operation is required.

After setting, you can build the Platform component by selecting it in the Flow Navigator and selecting the Build command. After compilation is completed, the tool populates the platform and its related software and hardware components in the Output folder of the Platform component in the Component Explorer.