Bar
SpaceWire UK
Specialist providers of VHDL Intellectual Property & Design Services
BarBarBarBar
Tutorial
Missing Image!
Part 7 - Deploy 2nd firmware & software projects on Zedboard via JTAG

Introduction

This tutorial details the steps required for using Vitis to deploy an ARM Cortex-A9 firmware & software design on the ZedBoard hardware.

Aims

The aims of this tutorial are as follows :-
  1. Setup hardware
  2. Setup environment
  3. Launch Vitis
  4. Launch MiniCom terminal emulator
  5. Deploy firmware & software on Zedboard

1. Setup hardware

Connect up the hardware as follows :-
  1. Xubuntu PC USB ⇄ Zedboard USB JTAG/Debug
  2. Xubuntu PC USB ⇄ Zedboard USB UART
Missing Image! Set the boot mode jumpers on the Zedboard for JTAG. Missing Image!

2. Setup environment

Setup Xilinx design environment for the 2021.2 toolset.
steve@Linux-Steve:/home/steve$ source xilinx.sh
Xilinx tools available tools at /opt/Xilinx :-
1) 2021.2 - Vivado - SDK - Vitis - PetaLinux
0) Exit
Please select tools required or exit : 1

Tools are as follows :-
vivado @ /opt/Xilinx/Vivado/2021.2/bin/vivado
vitis @ /opt/Xilinx/Vitis/2021.2/bin/vitis
petalinux-build @ /opt/Xilinx/PetaLinux/2021.2/tool/tools/common/petalinux/bin/petalinux-build

3. Launch Vitis

Launch Vitis IDE and specify the Workspace to use.
steve@Linux-Steve:/home/steve$ vitis -workspace /home/steve/projects/leds_switches/sw &

4. Launch MiniCom terminal emulator

Open up a new terminal and launch the MiniCom terminal emulator.
steve@Linux-Steve:/home/steve$ minicom -D /dev/ttyACM0 -b 115200

5. Deploy firmware & software on Zedboard

To program the PL & PS part of the Zynq-7000 FPGA right click on leds_switches under leds_switches_system inside the Explorer tab and select Run As » Launch on Hardware (Single Application Debug) from the menu. The blue done LED will illuminate once the Programmable Logic (PL) has been programmed, the two middle LED's will then illuminate and after this the software will run on the Processor System (PS). Missing Image! All being well the Minicom terminal emulator will display the following output from the application.
LED & Switch Example

Select required operation :-
r - Read from switch register
w - Write to LED register
q - Quit application
Pressing the 'r' key reads the register linked to the eight slide switches. With switches 0, 1, 4 & 5 in the 'on' position and 2, 3, 6 & 7 in the 'off' position the register read will return the following.
Switch Register @ 0x41200000 = 0b00110011
Pressing the 'w' key lights the eight LED's in sequence from right to left and then left to right, displaying the values written to the register.
LED Register @ 0x41200000 = 0b00000001
LED Register @ 0x41200000 = 0b00000010
LED Register @ 0x41200000 = 0b00000100
LED Register @ 0x41200000 = 0b00001000
LED Register @ 0x41200000 = 0b00010000
LED Register @ 0x41200000 = 0b00100000
LED Register @ 0x41200000 = 0b01000000
LED Register @ 0x41200000 = 0b10000000
LED Register @ 0x41200000 = 0b01000000
LED Register @ 0x41200000 = 0b00100000
LED Register @ 0x41200000 = 0b00010000
LED Register @ 0x41200000 = 0b00001000
LED Register @ 0x41200000 = 0b00000100
LED Register @ 0x41200000 = 0b00000010
LED Register @ 0x41200000 = 0b00000001
LED Register @ 0x41200000 = 0b00000000
Pressing the 'q' key exits the application by exiting the main function.