Create new Project#

Note

In the UltraZohm software, vitis_generate_UltraZohm_workspace.tcl takes care of this, see Tcl Scripts for more information.

Here you can find a nice tutorial on how to get started with Vitis.

Workspace configuration#

  1. Export the hardware file

../../../_images/vitis_create1.png
  1. Define the Vitis workspace

../../../_images/vitis_create2.png
  1. Afterwards a file “zusys_wrapper.xsa” will be created which describes the hardware description on the FPGA and includes the Bitstream (in older versions/before vitis/with SDK, this was called “zusys_wrapper.hdf”)

../../../_images/vitis_create3.png
  1. Afterwards we can start Vitis, which was in former days the SDK

../../../_images/vitis_create4.png

The Platform Project#

  1. Create a “Platform Project”

../../../_images/vitis_create5.png ../../../_images/vitis_create6.png ../../../_images/vitis_create7.png ../../../_images/vitis_create8.png
  1. Activate the creation of a Boot Image

../../../_images/vitis_create9.png
  1. Afterwards, you have the Platform project ready. You have to do this only once.

../../../_images/vitis_create10.png
  1. Add the LW-IP-Ethernet IP-Core

    1. Right click on the FreeRTOS BSP

    2. Modify BSP settings

    ../../../_images/vitis_create11.png
    1. Add the IP-Core

    ../../../_images/vitis_create12.png
  2. Build the platform especially if the platform is “out-of-date”

../../../_images/vitis_create13.png

The Application Project#

Next step will be to create an “Application Project” for each different solution.

FreeRTOS#

  1. In our case we have one processor of the A53 for the FreeRTOS:

../../../_images/vitis_create14.png ../../../_images/vitis_create15.png ../../../_images/vitis_create16.png
  1. If the necessary Platform is not shown, press the “+” and select the “ProjectName.xpfm” file from the path manually.

../../../_images/vitis_create17.png
  1. The following step works only if the LW-IP was included before:

../../../_images/vitis_create18.png
  1. Press Finish

../../../_images/vitis_create19.png
  1. You will see the name of the “Platform Project”, on which the “Application Project” is based on, in the yellow brackets behind the application.

Bare Metal#

We will use one processor of the R5 for the Bare Metal application

  1. Since during creation of the “platform Design” we just created a “System project” for the A53_0, we now have to do the same manually for the R5

  2. Right click on the “Vitis_UltraZohm” and add a domain

../../../_images/vitis_create20.png ../../../_images/vitis_create21.png
  1. You should see the domain now. Rename the FreeRTOS to just freertos

../../../_images/vitis_create22.png
  1. Rebuild the platform project since it is out-of-date (yellow comment)

  2. Add the new application project.

../../../_images/vitis_create23.png

Side comment: If there is already another Platform and Application present in VITIS, it may happen, that the new domain is not visible. In this case, it is necessary to delete the old/other Platform and Application. Afterwards, the new domain, e.g. for BareMetal is visible.

../../../_images/vitis_create24.png ../../../_images/vitis_create25.png

C-Project Setup#

The project structure should be ready at this time.

  1. Include the source (.c) and header (.h) files

../../../_images/vitis_create26.png
  1. Make sure that the UltraZohm linker script is included.

../../../_images/vitis_create27.png
  1. At this moment the system is ready for modifications

../../../_images/vitis_create28.png
  1. You can start a debug session now

../../../_images/vitis_create29.png