Software Command-Line Tool - 2024.1 English

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

Document ID
Release Date
2024.1 English

The AMD Vitis™ IDE is a graphical development environment that is helpful when developing for a new processor architecture. It simplifies common functions through logical wizards, so even beginners can use it. However, it is necessary for these tools to be scriptable, meaning they can be modified or extended, providing flexibility. This is especially helpful for developing regression tests that are run daily or when using a specific set of commands frequently. It is particularly useful when developing regression tests that are 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, 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.