Quick Start

Get started with the Vitis™ software platform by creating a platform and a Hello World application.

Create a Platform

A platform project is the container for the hardware platform, runtime library, the settings for each processor, and the bootloader for the device. It can be as simple as a standalone board support package for a Cortex™-A53, or a combination of different kinds of runtime configurations for Cortex-A53, Cortex-R5F and MicroBlaze™ processors. This section explains how to create a hardware design and use that hardware design to create an application platform.

Create a Hardware Design (XSA File)

To create a hardware design, create a Vivado® project, customize the Zynq® UltraScale+™ MPSoC settings, connect to the PL peripherals, and generate the block design. For information on how to create a Vivado project, see Zynq UltraScale+ MPSoC: Embedded Design Tutorial (UG1209).
Note: A bd.tcl should be prepared in the hw_src directory. If you have cloned this repository, the Vivado block diagram design can be recreated in Vivado.
  1. Create a Vivado block diagram design using the command source hw_src/design_1.tcl.
  2. From IP integrator, run Generate Block Design. The block design is generated.
  3. Select File > Export > Export Hardware to export the hardware platform from Vivado.
  4. On the Export Hardware dialog, click OK.

Create a Platform Project

After exporting a hardware design, you can create a platform project. To create a platform project, do the following.
  1. Launch the Vitis™ software platform.
  2. Select File > New > Platform Project. The New Platform Project wizard opens.
  3. In the Project name field, enter a name for your platform project and click Next.
  4. Select Create from hardware specification (XSA) and click Next.
  5. In the XSA file field, browse and select the XSA file that you exported from the Vivado Design Suite.

  6. Use the dropdown menus to select standalone as the operating system and psu_cortexa53_0 as the processor. The Generate boot components checkbox is selected. You can deselect this if you do not need boot components (FSBL in case of Zynq and PMU firmware in case of Zynq UltraScale+ MPSoC).
  7. Click Finish. The platform is generated with multiple domains, one that you specified and the rest are the ones required for the boot components. It can later be modified to add new domains.
  8. Double-click platform.spr in the Explorer view. This opens the platform tab for viewing and modification. You can modify settings for FSBL, standalone domains, and PMU firmware.
  9. To generate the platform, right-click the platform project and select Build Project. Alternatively, you can also click .

Create a Hello World Application

After installing the Vitis™ software platform, the next step is to create a software application project. Software application projects are the final application containers. The project directory that is created contains (or links to) your C/C++ source files, executable output file, and associated utility files, such as the Makefiles used to build the project.

Note: The Vitis software platform automatically creates a system project for you. A system project is a top-level container project that holds all of the applications that can run in a system at the same time. This is useful if you have many processors in your system, especially if they communicate with one another, because you can debug, launch, and profile applications as a set instead of as individual items.

Build a Sample Application

This section describes how to create a sample Hello World application using an existing template.
  1. Launch the Vitis software platform.
  2. Select a workspace directory for your first project.
  3. Click Launch. The welcome page appears.
  4. Close the welcome page. The development perspective opens.
  5. Select File > New > Application Project.
  6. Enter a name in the Project name field and click Next. The Select platform tab opens. You should choose a platform for your project. You can either use a pre-supplied platform (from Xilinx or another vendor), a previously created custom platform, or you can create one automatically from an exported Vivado® hardware project.
  7. On the Select platform tab, click the platform you just created and click Next. To use your own hardware platform, click the icon and add your platform to the list.
  8. Select the system configuration for your project and click Next. The Templates window opens.
  9. Select Hello World and click Next. Your workspace opens with the Explorer pane showing the hello_world_system system project and the zcu102 platform project.
  10. Right-click the system project and select Build Project. You have now built your application and the Console tab shows the details of the file and application size.

Debug and Run the Application

Now that you have generated the executable binary, you can test it on a board. To run the application on the board, perform the following preliminary steps:
  • Connect a JTAG cable to the computer.
  • Set the Boot Mode switch of the board to JTAG mode.
  • Connect a USB UART cable and setup your UART console.
  • Power up the board.
  1. Expand the system project and choose the application project you want to debug. Right-click the application and select Debug As > Launch on Hardware (Single Application Debug).
  2. On the Confirm Perspective Switch dialog, click Yes. The Vitis IDE switches to the Debug perspective and the debugger stops at the entry to your main() function.
  3. Using the commands in the toolbar, step through the application. After you step through the print() function, Hello World appears in the UART console.