Updating Software Components - 2021.2 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.2 English

Prepare common image

Download common image for corresponding boards from Xilinx download center page:https://www.xilinx.com/support/download.html and extract the common image to your workspace in which you can find rootfs.ext4, Image, boot.scr, sdk.sh, bl31.elf and u-boot.elf.

.

Create DTB file

Start your Vitis and execute below command in XSCT command console like below. As the zocl driver is a must when you crate an accelerated application and zocl driver interface requires a device tree node to enable the interrupt connection. So please add -zocl option when execute this command if your application is accelerated one. After the command you can find system.dtb file located in <mydevice/psu_cortexaXX_0/device_tree_domain/bsp> folder.

createdts -hw <full path of XSA file> -zocl  -platform-name mydevice  -git-branch xlnx_rel_v2021.1 -board  zcu104-revc -compile

Below is the key option of createdts command .

  • -name: Platform name
  • -hw: Hardware XSA file with path
  • -git-branch: device tree branch
  • -board: board name of the device. You can check the board name at /device_tree/data/kernel_dtsi.
  • -zocl: enable the zocl driver support
  • -compile: specify the option to compile the device tree

Update the device tree file for reference

Below take chosen node as an example to show how to update the device tree file.

1. Replace the content of the chosen node in system-top.dts located in <board_software_platform/mydevice/psu_cortexaXX_0/device_tree_domain/bsp/>.

/ { chosen { bootargs = "earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait cma=512M"; }; };

2. Compile the dts

cd <board_software_platform/mydevice/psu_cortexaXX_0/device_tree_domain/bsp/> ## change to your corresponding board name and CPU cores
gcc -I my_dts -E -nostdinc -undef -D__DTS__ -x assembler-with-cpp -o system.dts system-top.dts  #preprocess the dts file because DTC command can not recognize the #include grammar
dtc -I dts -O dtb -o system.dtb system.dts # compile the dts

The following is an example of the zocl device node for your reference.

&amba {
	zyxclmm_drm {
		compatible = "xlnx,zocl";
		status = "okay";
		interrupt-parent = <&axi_intc_0>;
		interrupts = <0  4>, <1  4>, <2  4>, <3  4>,
			     <4  4>, <5  4>, <6  4>, <7  4>,
			     <8  4>, <9  4>, <10 4>, <11 4>,
			     <12 4>, <13 4>, <14 4>, <15 4>,
			     <16 4>, <17 4>, <18 4>, <19 4>,
			     <20 4>, <21 4>, <22 4>, <23 4>,
			     <24 4>, <25 4>, <26 4>, <27 4>,
			     <28 4>, <29 4>, <30 4>, <31 4>;
	};
};

For more information, refer to the XRT documentation: https://xilinx.github.io/XRT/master/html/yocto.html.