Create a Lab Application for the Arm Cortex-A53 based APU

Key Revocation Lab (XAPP1344)

Document ID
XAPP1344
Release Date
2022-03-14
Revision
v1.1 English
Now that the platform is created and the BSP has been modified to support this exercise, the next section shows how to create an empty bare-metal application targeted for an Arm Cortex-A53 Core 0. This application will be modified using source files that get compiled and run to exercise the Zynq UltraScale+ Key Revocation features.
Note: This application is referred to as a lab application throughout the document.
  1. Select File > New > Application Project.

    The New Project dialog box opens. Select Next if the welcome page opens.

  2. Select Key_Revocation_Platform [custom], created earlier in the lab under the Select a platform from repository tab.
    Figure 1. Key_Revocation_Platform [custom]
  3. Select Next.
  4. Enter key_revocation_lab in the Application project name field as shown in the following figure.
    Figure 2. Application Project Details
  5. Select Next.
  6. Select Next on the Domain page and the Template window will open.
  7. In the Template window, select Empty Application as shown in the following figure.
    Figure 3. Template Selection X26193-Page-1 Sheet.1 Sheet.2 X26193-020122 X26193-020122
  8. Select Finish.
    Vitis creates the empty application named "key_revocation_lab". After a bare-metal application is generated, the following C source files must be imported to create the lab application for eFUSE programming:
    • key_revocation_lab_main.c
    • key_revocation_lab_utils.c
    • key_revocation_lab_main.h
    • key_revocation_lab_utils.h
    These files can be found in C:\Xilinx\Key_Revocation_Lab\enhanced_key_revocation_lab_files.
    Note: Files should be extracted in C:\Xilinx. If they are extracted elsewhere, the extracted files can be found in that location.
  9. Right-click the key_revocation_lab under the key_revocation_lab_system drop-down menu in the Explorer window as shown in the following figure.
  10. Select Import Sources.
    Figure 4. Source Code Import Menu Location X26202-Page-1 Sheet.1 Sheet.2 X26202-020122 X26202-020122
  11. Browse to C:\Xilinx\Key_Revocation_Lab\enhanced_key_revocation_lab_files.
  12. Select the following files as shown in the following figure:
    • key_revocation_lab_main.c
    • key_revocation_lab_main.h
    • key_revocation_lab_utils.c
    • key_revocation_lab_utils.h
    Figure 5. Source Code Selection X26197-Page-1 Sheet.1 Sheet.2 X26197-020122 X26197-020122
  13. Select Finish.
  14. Open key_revocation_lab_main.h.
  15. On line 20, set the value of macro WRITE_EFUSES to TRUE.
  16. Save the file.
    Note: The default value of the WRITE_EFUSES macro is FALSE. If the value of this macro is false, no eFUSE is programmed, however, you are still able to execute all the eFUSE programming steps listed in the later sections of this application note without modifying/programming them. You are encouraged to first have a basic understanding of the tutorial user interface (UI) by setting the value to FALSE (i.e., skip Step 6 above). This allows you to become familiar with the lab application UI without programming any of the eFUSEs, which is helpful because eFUSE programming is irreversible.
  17. Right-click on key_revocation_lab project.
  18. Select Clean Project.
  19. Right-click on key_revocation_lab project.
  20. Select Build Project. Vitis will build both the application and Platform. This process can take several minutes to complete.
Note: Ensure there are no build errors reported within the Console or Problems tabs.

With the lab application ready, the next step is to create a BI and load the application on the ZCU102 board.