Modifying the Domain Sources (Driver and Library Code)

To add/modify the domain sources (driver and library code) using the Vitis™ software platform, you must create your own repository with all the required files including the .mld/.mdd files and the source files. The installed driver and library code are located in the <Vitis_Install_Dir>/data/embeddedsw directory. A driver or library code component includes source files in the src directory and metadata in data directory. In the .mld/.mdd file, bump up the driver/library version number and add this repository to the Vitis software platform.

The Vitis software platform automatically infers all the components contained within the repository and makes them available for use in its environment. To make any modifications, you must make the required changes in the repository. Building the application gives you the modified changes.

Creating a Repository

A software repository is a directory where you can install third-party software components as well as custom copies of drivers, libraries, and operating systems. When you add a software repository, the Vitis™ software platform automatically infers all the components contained within the repository and makes them available for use in its environment.

Your Vitis software platform workspace can point to multiple software repositories. The scope of the software repository can be global (available across all workspaces) or local (available only to the current workspace). Components found in any local software repositories added to a Vitis software platform workspace take precedence over identical components, if any, found in the global software repositories, which in turn take higher precedence over identical components found in the Vitis software platform installation.

A repository in the Vitis software platform requires a specific organization of the components. Software components in your repository must belong to one of the following directories:

  • drivers: Used to hold device drivers.
  • sw_services: Used to hold libraries.
  • bsp: Used to hold software platforms and board support packages.
  • sw_apps: Used to hold software standalone applications.
  • sw_apps_linux: Used to hold Linux applications.

Within each directory, sub-directories containing individual software components must be present. The following diagram shows the repository structure.

Figure 1: Repository Structure

Adding the Repository

  1. Select Xilinx > Repositories.
  2. To add the repository you created in Creating a Repository, follow one of these two steps:
    • To ensure that your repository driver/library repository is limited to the current workspace, click New to add it under Local Repositories.
    • To ensure that your repository driver/library repository is available across all workspaces, click New to add it under Global Repositories.
  3. Select Apply and Close to add the custom drivers/libraries from the repositories.

Creating the Application Project

  1. Select File > New > Application Project.
  2. Provide a project name in the Project name field. Click Next to open the New Application Project wizard.

  3. Select an existing platform or select Create from XSA to see the list of all the available hardware designs in installation.
  4. Select a hardware design file and click Next.
  5. A list of supported CPUs and operating systems is displayed. Select cortexa53_0 from the CPU drop-down list if you want to debug the A53 application.
  6. Select standalone from the OS drop-down list. Click Next.
  7. A list of supported application projects for this operating system and processor combination is displayed. Select any of the application templates from the list and click Finish.

  8. Select Overview > Drivers to see a list of available drivers/libraries for the IP. You can modify/edit the driver options by clicking the drop-down icons.
  9. Build the application project.
  10. Debug the application by selecting Debug As > Launch on Hardware (Single Application Debug).