The Application component is an application that runs on the processor, Arm or x86, that loads and runs the device binary (
.xclbin) which you will build later. The Vitis unified IDE automatically detects whether the Application component uses XRT native API or OpenCL and compiles the code as needed. Create the Application component using the following steps:
From the main menu select File > New Component > Application
This opens the Create Application Component wizard on the Name and Location page.
Enter the Component name as
host, enter the Component location as the workspace (default), and click Next.
This opens the Select Platform page.
On the Select Platform page select the
xilinx_zcu102_base_202320_1platform and click Next to open the Select Domain page.
On the Select Domain page you will select from the available processor domains and OS. In this case there is only one choice.
xrtdomain and click Next to open the Sysroot page.
On the Sysroot page you will provide a path to the sysroot as part of the common images for the selected platform. You can find more information on this at Installing Embedded Platforms.
Enter the path to the Sysroot for the selected platform and click Next to open the Summary page.
Review the Summary page and click Finish to create the defined Application component.
The Application component
vitis-comp.json file is opened in the center editor, and the component is added to the Component Explorer. When creating the Application component you do not specify source files so you must add the required source files after the component is created.
In the Vitis Components Explorer view expand the
host component, right-click the
Sources folder and Import > Files to import the following source file:
After adding it, you can select the
host.cpp file in the Vitis Components Explorer to open it in the Code Editor in the central editor window. This example shows the simplest way of using XRT API to interact with the hardware accelerator.
Having added the source code to the component, you are now ready to compile the code. Looking at the Flow Navigator with the Application component the active component, you can see there are Build commands under X86 Simulation and Hardware. For Data Center applications, these two are essentially the same as the Application component runs on the X86 processor for both Hardware and Emulation. However, for Embedded Processor-based platforms, these are two different build configurations. For software emulation, even though the platform uses an embedded processor, emulation is run on the x86 processor as described in Embedded Processor Emulation Using PS on x86. For hardware emulation, or to run on hardware, the Application component must be compiled for the embedded processor domain. These Build choices reflect that requirement.
host.cppis imported, click the Build command to build the application for X86 Simulation or for Hardware.