Software Command-Line Tool - 2023.2 English

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
Release Date
2023.2 English

Graphical development environments such as the AMD Vitis™ IDE are useful for getting up to speed on development for a new processor architecture. It helps to abstract away and group most of the common functions into logical wizards that even a novice can use. However, scriptability of a tool is also essential for providing the flexibility to extend what is done with that tool. It is particularly useful when developing regression tests that will be run nightly or when running a set of commands that are frequently used.

Software Command-line Tool (XSCT) is an interactive and scriptable command-line interface to the Vitis IDE. As with other AMD tools, the scripting language for XSCT is based on the tools command language (Tcl). You can run XSCT commands interactively or script the commands for automation.

XSCT supports Vitis project management, configuration, building and debugging, such as:
  • Creating platform projects and domains
  • Creating system and application projects
  • Configuring and building domains/BSPs and applications
  • Managing repositories
  • Setting toolchain preferences
  • Downloading and running applications on hardware targets
  • Reading and writing registers
  • Setting break points and watch expressions

This reference guide is intended to provide the information you need to develop scripts for software development and debug targeting AMD processors.

In this guide, abbreviations are used for various products produced by AMD. For example:
  • Use of ps7 in the source code implies that these files are targeting the AMD Zynq™ 7000 SoC family of products, and specifically the dual-core Cortex® Arm® A9 processors in the SoC.
  • Use of psu in the source code implies that this code is targeting an AMD Zynq™ UltraScale+™ MPSoC device, which contains a Cortex quad-core Arm A53, dual-core Arm R5, Arm Mali 400 GPU, and a MicroBlaze™ processor based platform management unit (PMU).
  • Hardware definition files (XSA) are used to transfer the information about the hardware system that includes a processor to the embedded software development tools such as Vitis IDE and Software Command-Line Tools (XSCT). It includes information about which peripherals are instantiated, as well as clocks, memory interfaces, and memory maps.
  • Microprocessor Software Specification (MSS) files are used to store information about the domain/BSP. They contain OS information for the domain/BSP, software drivers associated with each peripheral of the hardware design, STDIO settings, and compiler flags such as optimization and debug information level.