Step 2: Create Vitis Platform - 2023.2 English

Vitis Tutorials: Getting Started (XD098)

Document ID
XD098
Release Date
2023-11-13
Version
2023.2 English
  1. Download Versal common image from AMD website download page, place it under your WorkSpace directory, and extract the common image.

    tar xvf ../xilinx-versal-common-v2023.2.tar.gz .
    
  2. Create the device tree file Device tree describes the hardware components of the system. createdts command can generate the device tree file according to the hardware configurations from XSA file. If there are any settings not available in XSA, for example, any driver nodes that do not have corresponding hardware, or the user has their own design hardware, the user needs to add customization settings in system-user.dtsi.

    Besides, uboot in common image does not have default environment variables. So update the bootargs manually. A pre-prepared system-user.dtsi file, which adds pre-defined bootargs is under ref_files directory. Copy system-user.dtsi to WorkSpace directory and follow below steps to generate the DTB file.

    cd WorkSpace
    source <Vitis_Install_Directory>/settings64.sh
    xsct 
    

    Then execute createdts command in XSCT console like the following:

    createdts -hw <full path>/vck190_custom.xsa -out . -zocl \
    -platform-name mydevice -git-branch xlnx_rel_v2023.2 -board versal-vck190-reva-x-ebm-02-reva -dtsi system-user.dtsi -compile   
    

    Note: If you target VEK280, please specify the XSA to vek280_custom.xsa and board to versal-vek280-revb.

    Notice that -hw option is your XSA file generated in step1 located in your Vivado Project directory named vck190_custom.xsa. Besides, the following information would show in XSCT console. Ignore the following warning and that means you succeed to get system.dtb file, which is located in mydevice/psv_cortexa72_0/device_tree_domain/bsp/.

    pl.dtsi:9.21-46.4: Warning (unit_address_vs_reg): /amba_pl@0: node has a unit name, but no reg property
    pl.dtsi:41.26-45.5: Warning (simple_bus_reg): /amba_pl@0/misc_clk_0: missing or empty reg/ranges property
    

    Type exit in console to exit XSCT console.

  3. Create Vitis platform

    • Install SDK tool by typing sh xilinx-versal-common-v2023.2/sdk.sh -d xilinx-versal-common-v2023.2/ -y in console. Option -d is to specify the directory where to install. Option -y means confirmation. So it gets installed in xilinx-versal-common-v2023.2/ folder.

    • Run Vitis by typing vitis -w . in the console. -w is to specify the workspace. . means the current workspace.

    • In the Vitis IDE, select File > New Component > Platform to create a platform component.

    • Enter the Component name. For this example, type vck190_custom, click Next.

      Note: If you target VEK280, please update component name to vek280_custom.

    • In the XSA selecting page, click Browse button, select the XSA file generated by the Vivado. In this case, it is Your Vivado Project Directory>/vck190_custom.xsa or vek280_custom.xsa. Click Next.

    • Set the operating system to linux and set the processor to psv_cortexa72. Click Next.

    • Review the summary and click Finish.

    Created Vitis Platform

    • Click the linux On psv_cortexa72 domain.

    • Update the Display Name to xrt by clicking the entry bar and inputting the name. It is indicated that this is a Linux domain has XRT installed and can run acceleration applications.

    • Set Bif file: Click the button as shown in the following diagram and generate BIF file. The BIF file is generated in the resource directory.

      vitis_platform_config

    • Pre-Built Image Directory: Browse to extracted common image path directory: xilinx-versal-common-v2023.2/ and click OK. Bootgen looks for boot components referred by BIF in this directory to generate BOOT.BIN.

    • DTB file: Browse to the DTB file location we created just now. It is under mydevice/psv_cortexa72_0/device_tree_domain/bsp/. Select system.dtb and click OK

    • FAT32 Partition Directory: if you have additional file to be stored in FAT32 partition diretory you can browse to the file. If not please omit this.

    • QEMU Data: This Directory is used to add additional file for emulation. User can set it according to your requirement.

    • In the flow navigator, click the drop-down button to select the component. In this case, select vck190_custom component and click the Build button to build the platform.

    Note: If there are additional QEMU settings, update qemu_args.txt accordingly.

    After this step2, the platform creation process is completed. Next, run an application to validate this platform.