OpenCPI ZedBoard Getting Started Guide

Document Revision History

Table 6: OpenCPI ZedBoard Getting Started Guide: Revision History

Revision

Description of Change

Date

v1.1

Initial Release

3/2017

v1.2

Updated for OpenCPI Release 1.2

8/2017

v1.3

Updated for OpenCPI Release 1.3

2/2018

pre-v1.4

Fixed inaccurate description for hardware jumper configuration, OpenCPI-SD-zed directory path, and MAC address modification instructions for multiple Zedboards on the same network

4/2018

v1.4

Update descriptions and paths

9/2018

v1.5

Deprecate Zipper

4/2018

v1.6

Refer to Installation Guide where possible

1/2020

v2.2

Convert to RST, update to xilinx19_2_aarch32

4/2021

v2.4

Update to reference Install Guide, User Guide, follow new system GSG template, remove deprecated Zipper

12/2022

v2.4

Update to xilinx24_1_aarch32

1/2025

How to Use This Document

This document provides installation information that is specific to setting up the OpenCPI Avnet (Digilent) ZedBoard™ embedded system for use with OpenCPI. It describes system-specific details, if any, about setting up:

  • The platforms that comprise the system

  • The system as a whole

Use this document in conjunction with the OpenCPI Installation Guide, which describes the general steps to enable OpenCPI for use on an embedded system. Use this guide as a companion to the OpenCPI Installation Guide, especially when performing the steps described in the chapter “Enabling OpenCPI Development for Embedded Systems”. It provides details about the ZedBoard system that can be applied to the procedures described in that section.

The following documents can also be used as reference to the tasks described in this document:

Note that the OpenCPI Glossary is also contained in both the OpenCPI Installation Guide and the OpenCPI User Guide.

This document assumes a basic understanding of the Linux command line (or “shell”) environment.

Overview

The ZedBoard is a Xilinx® Zynq-based system that consists of an RCC/CPU (software) “PS” platform and an HDL (FPGA) “PL” platform connected by an Advanced Extensible Interface (AXI) bus. See the product brief at https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/zedboard/ for detailed information about the ZedBoard.

In OpenCPI, the embedded RCC platform is xilinx24_1_aarch32 and the HDL platform is zed (the default) or zed_ise (to support older Xilinx ISE tools in cases where use of these older tools is required).

Installation Prerequisites

The following items are required for OpenCPI ZedBoard system installation and setup:

  • Avnet (Digilent) ZedBoard

  • 12V power supply

  • micro-USB to USB-A cable

  • micro-USB to female-USB-A adapter

  • microSD card: use the one that comes with the product kit or provide a different one (OpenCPI ZedBoard setup has been tested using a 4GB microSD card)

These items are typically provided with the ZedBoard product kit.

An SD card reader is also required.

Note

Ignore any quick start cards or instructions that come with the product kit. This getting started guide and the OpenCPI Installation Guide provide the necessary instructions for setting up the ZedBoard for OpenCPI.

The following items are optional:

  • 1-Gigabit Ethernet cable

  • Analog Devices FMCOMMS2 or FMCOMMS3 daughtercard

OpenCPI has been tested on ZedBoard revisions C and D.

Installation Steps for Platforms

This section contains details about the ZedBoard that pertain to the instructions for installing OpenCPI platforms in the section “Installation Steps for Platforms” in the OpenCPI Installation Guide.

Required Downloads for Installing the Platform

The zed system requires the Xilinx Binary Zynq Release 2024.1. Download the OpenCPI Xilinx OSP for the zed using the following link:

Prebuilt SD Card Artifacts

This package is to be placed in the /tools/Xilinx/ZynqReleases/2024.1/ (or /opt/Xilinx/ZynqReleases/2024.1/)

Download the OpenCPI Xilinx RCC Platform Kernel Headers using the following link:

2024.1 32-bit Kernel Headers

Place the 2024.1 32-bit Kernel Headers package in /tools/Xilinx/ZynqHeaders/2024.1/ (or /opt/Xilinx/ZynqReleases/2024.1/)

Details for Installing the RCC Platform

The ZedBoard system supports the RCC platform xilinx24_1_aarch32, which can also be used by other systems. If this platform has already been installed and built for another system, it can apply to the ZedBoard and does not need to be installed and built.

Details for Installing the HDL Platform

As described in the OpenCPI Installation Guide, each OpenCPI platform depends on a set of third-party/vendor tools that need to be manually installed so that the platform can be built. OpenCPI supports two different FPGA/HDL platforms for the ZedBoard:

  • The zed platform (HDL target zynq), which is built with the Xilinx Vivado tools

  • The zed_ise platform (HDL target zynq_ise), which is built with the Xilinx ISE tools

If your environment requires the use of Xilinx ISE tools rather than the (recommended) Xilinx Vivado tools, you need to target the zed_ise platform for building bitstreams for the ZedBoard, not the zed platform.

Setting up the ZedBoard After its Platforms are Installed

This section describes steps to enable the OpenCPI development and execution environment that must be performed on the ZedBoard after its platforms have been installed. It also contains setup information specific to the ZedBoard system that is needed when performing the tasks described in the section “Installation Steps for Systems After their Platforms are Installed” in the OpenCPI Installation Guide.

Details for Establishing a Serial Console Connection

This section contains details about the ZedBoard that pertain to the instructions for setting up a serial I/O console described in the section “Establishing a Serial Console Connection” in the OpenCPI Installation Guide:

  • On Zedboard systems, the micro-USB serial port, labeled UART and located on the top side of the ZedBoard, can be used to access the serial connection with the processor.

Connected Serial USB

Figure 18: Connected Serial USB

  • The console serial port operates at 115200 baud. The cable used is a micro-USB to USB-A cable to connect its console micro-USB port to the development host.

Details for Configuring the Runtime Environment on the Embedded System

This section contains details about the ZedBoard that pertain to the instructions for configuring the runtime environment on the embedded system described in the section “Configuring the Runtime Environment on the Embedded System” in the OpenCPI Installation Guide.

Connecting the ZedBoard to a DHCP-supported Network (Optional)

Using server mode or network mode for OpenCPI on the ZedBoard embedded system requires establishing an Ethernet connection from the ZedBoard to a network that supports DHCP.

There is one Ethernet port located on the ZedBoard. Use a 1-Gigabit Ethernet cable to connect this port to the DHCP-supported network, as shown in Figure 19:

Connected Ethernet

Figure 19: Connected Ethernet

Booting the ZedBoard from the SD Card

The ZedBoard needs to be configured to boot from the SD card. To configure the board and then boot from the SD card:

  1. Remove power from the ZedBoard.

  2. Set the following jumpers on the top of the ZedBoard to boot from the SD card, as shown in Figure 20:

    • Set JP10 to 3.3V.

    • Set JP9 to 3.3V.

    • Set JP8 to GND.

    • Set VADJ SELECT (J18) to 2V5 to ensure proper FPGA Mezzanine Card (FMC) configuration. The only supported FMC voltage for OpenCPI bitstreams is 2.5V.

Zedboard Top View with J10, J9, J8 Set

Figure 20: Zedboard Top View with J10, J9, J8 Set

  1. Insert the SD card into the SD card slot. The SD card slot is located below the FMC Low Pin Count (LPC) slot for an optional daughtercard on the bottom side of the ZedBoard, as shown in Figure 21:

ZedBoard FMC Slot and SD Card Slot

Figure 21: ZedBoard FMC LPC Slot and SD Card Slot

  1. Connect a terminal to the micro-USB connector on the Zedboard labeled UART. The baud rate should be 115200.

  2. On the development host, start the terminal emulator (usually with the screen command) at 115200 baud.

  3. Apply power to the Zedboard with the terminal still connected.

Continuing a Stopped Boot Sequence

The ZedBoard system is initially set with root for user name and password. Typically, on initial power-on of the platform, the boot sequence will stop at the uboot configuration prompt. When this occurs, simply enter boot to allow the boot sequence to continue:

$ zynq-uboot> boot

After a successful boot to PetaLinux, log in to the system using root for user name and password, as shown in Figure 22:

Successful Boot to PetaLinux

Figure 22: Successful Boot to PetaLinux

Enabling the Network Interface (Optional)

When a single ZedBoard is on the network, execute the following command to enable its Ethernet interface:

$ ifconfig eth0 up

When multiple ZedBoards are on the network, you must modify the mynetsetup.sh script according to the instructions in the section “Connecting HDL Platforms to an Ethernet Network” in the OpenCPI Installation Guide before you proceed to running the test application.