Vitis Unified Software Platform Overview

The Vitis™ integrated development environment (IDE) is part of the Vitis unified software platform. The Vitis IDE is designed to be used for the development of embedded software applications targeted towards Xilinx® embedded processors. The Vitis IDE works with hardware designs created with Vivado® Design Suite. The Vitis IDE is based on the Eclipse open source standard. The features for software developers include:

  • Feature-rich C/C++ code editor and compilation environment
  • Project management
  • Application build configuration and automatic Makefile generation
  • Error navigation
  • Integrated environment for seamless debugging and profiling of embedded targets
  • Source code version control
  • System-level performance analysis
  • Focused special tools to configure FPGA
  • Bootable image creation
  • Flash programming
  • Script-based command-line tool

Key Concepts

The concepts listed below are key to understanding the Vitis embedded software development flow.

When you open the Vitis software platform, you create a workspace. A workspace is a directory location used by the Vitis software platform to store project data and metadata. An initial workspace location must be provided when the Vitis software platform is launched.
The target platform or platform is a combination of hardware components (XSA) and software components (domains/BSPs, boot components such as FSBL, and so on).
Platform Project
A platform project is customizable for adding domains and modifying domain settings. A platform project can be created by importing an XSA, or by importing an existing platform.
A domain is a board support package (BSP) or the operating system (OS) with a collection of software drivers, on which to build your application. The created software image contains only the portions of the Xilinx library you use in your embedded design. You can create multiple applications to run on the domain. A domain is tied to a single processor or a cluster of isomorphic processors (for example: A53_0 or A53) in the platform.
System Project
A system project groups together applications that run simultaneously on the device. Two standalone applications for the same processor cannot sit together in a system project. Two Linux applications can sit together in a system project. A workspace can contain multiple system projects.
Application (Software Project)
A software project contains one or more source files, along with the necessary header files, to allow compilation and generation of a binary output (ELF) file. A system project can contain multiple application projects. Each software project must have a corresponding domain.

Document Scope and Audience

The purpose of this content is to familiarize software application developers and system software developers with the Vitis software platform and help them get started with using the tool. This content provides an overview of the Vitis software platform and the features listed here.

  • Creating a platform project
  • Creating an application project
  • Vitis integrated development environment (IDE) extensions