XSCT¶
Warning
XSCT is deprecated as of Vivado 2024.2. Depending on what XSCT is being used for, vitis or sdtgen should be used instead.
Running TCL scripts through XSCT¶
The first argument after xsct can be a TCL file:
Creating device tree overlays from hardware platform files¶
You will need to have a .xsa file for the FPGA platform that you want a device tree for.
createdts
-compile -overlay -zocl \
-platform-name $platform_name \
-hw $path_to_xsa_file \
-out $path_to_output_directory
Note: Downloads
This command will git clone the device-tree-xlnx repository into the requested output directory.
Tip: Without downloads
You can use --local-repo to provide an existing clone of that repository if you need to do this on an air gapped system, or need to make changed.
Tip: Output directory
Create a dedicated output directory as this makes a lot of files.
Tip: If you encounter errors with xsct
If you have to run this more than once, to avoid any weird errors:
- Close
xsct. - Delete the output directory between runs.
- Restart
xsct.
The generated pl.dtsi will then need to be compiled with dtc:
source /path/to/xilinx/vivado/settings64.sh # to get the correct `dtc` into PATH
dtc -@ -O dtb \
-o "$path_to_output_directory/$platform_name/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo" \
"$path_to_output_directory/$platform_name/psu_cortexa53_0/device_tree_domain/bsp/pl.dtsi"
Note
-@ adds the symbols to the device tree.
This will be needed for any AXI IP in the FPGA to be visible in userspace.