To create a new platform component in the Vitis Unified IDE, execute the following steps.
- Click the File option in the Vitis Unified IDE and select .Tip: You can also select the Create Platform Component command from the Welcome page.
- This opens the Create
Platform Component wizard.
- Enter a component name and component location and select Next.
- Select Browse
to locate an XSA file. You can also create a platform from an 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. Figure 1. Create Platform Component
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 input hardware design type determine the platform type you create. If the input hardware design is a fixed XSA, the system creates a platform for an embedded design. If the input hardware design is an extensible XSA, the system creates an extensible platform.SDTgen is a built-in tool within the Vitis Unified IDE.- The SDTgen tool 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, parses the SDT and generates the corresponding BSP (Board Support Package) file.
- To facilitate user debugging and take advantage
of the SDT flow, advanced options allow you to switch to a
custom version SDTgen tool. The uses of the advanced options are
as follows:
- SDT Source REPO
- Input the customer version SDTgen
REPO.Note: If you encounter issues related to the system device tree or the SDTgen tool, use the updated version of the SDTgen tool for debugging. 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
- 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 Vitis tool automatically generates both the FSBL (First Stage Boot Loader) and PMU (Platform Management Unit) firmware components for your platform if the domain is Standalone.
- The Generate Boot Artifacts option is not available for Versal adaptive SoC. Versal adaptive SoC only require the PDI file.
Note: When you enable the Generate Device Tree Blob (DTB) option, the system automatically generates the Device Tree Blob for your platform. This only applies 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 Settings for Different Device Families Device Family Generate Boot Artifacts PMU DTB DTB Overlay Zynq Enable the FSBL for device initialization. No option Only Linux systems require DTB Only Linux systems require the DTB overlay when loading certain devices after the system is up and running. ZynqMP Enable the FSBL for device initialization. Standalone domain does not require the PMU, but it is essential for Linux systems to manage high-security functions. Only Linux systems require DTB Only Linux systems require the DTB overlay when loading certain devices after the system is up and running. Versal No option No option Only Linux systems require DTB Only Linux systems require the DTB overlay 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.
After you create the Platform component, the vitis-comp.json file for the component opens in the central editor window.
Depending on the OS you selected for your platform, and possibly the processor, the contents of the platform vitis-comp.json can vary.
- For the Linux Operating System: specify the Bif file, Boot Component Directory, SD Card Directory and as well as the Qemu data. The Qemu Args file are auto-populated.
- For standalone (baremetal) OS: The system does not require special operations.
- For FreeRTOS: The system does not require special operations.
After confirming the settings, you can build the Platform component by selecting it in the Flow Navigator and selecting the Build command. After compilation, the Vitis tool populates the platform and its related software and hardware components in the Output folder of the Platform component.
Note the following compiler support for third-party toolchains:
- ARMClang support for Versal A72 and R5 processors
- ARMCC support for the Zynq A9 processor
- IAR support for the Zynq MP R5 processor and Zynq A9 processor
$PATH environment variable. The following is
an example of selecting the 'ARMCLANG' compiler when creating a platform for the
vck190.If using the CLI flow, the command looks like the following:
platform = client.create_platform_component(name = "platform",hw_design = "vck190",os = "standalone",cpu = "psv_cortexa72_0",domain_name = "standalone_psv_cortexa72_0",generate_dtb = False,advanced_options = advanced_options,compiler = "armclang")