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-v2024.1.tar.gz .
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 insystem-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. Copysystem-user.dtsi
toWorkSpace
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_v2024.1 -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 namedvck190_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 inmydevice/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.Create Vitis platform
Install SDK tool by typing
sh xilinx-versal-common-v2024.1/sdk.sh -d xilinx-versal-common-v2024.1/ -y
in console. Option-d
is to specify the directory where to install. Option-y
means confirmation. So it gets installed inxilinx-versal-common-v2024.1/
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
orvek280_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.
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.
Pre-Built Image Directory: Browse to extracted common image path directory:
xilinx-versal-common-v2024.1/
and click OK. Bootgen looks for boot components referred by BIF in this directory to generateBOOT.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 OKFAT32 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.