Running Petalinux based linux system on Zedboard via jtag and SD card

Summary: This short tutorial demonstrates how to run and test the first petalinux based customized linux system on Zedboard via jtag and SD card.

Implementation: This tutorial is the continuation of the first lecture. It thus assumes that the reader has already created, configured and built a petalinux based customized linux system by using petalinux-create, petalinux-config, and petalinux-build commands, respectively. After building the linux system, it can be run and tested on Zedboard via JTAG. To this end, turn on and set the configuration jumpers of the zedboard into JTAG boot mode (see the figure given below). Read more

Installation of Petalinux and running the first Petalinux based linux system on QEMU

Summary: This short tutorial, first, defines the petalinux, board support packages (BSP) and quick emulator (QEMU) used in zynq 7000 linux programming. It, secondly, describes the steps necessary to install petalinux on Ubuntu PC. Finally, an example on how to run and test the petalinux based linux system in QEMU is demonstrated.

1.  Definitions of Petalinux, BSP and QEMU: Petalinux, which is based on the yocto project, is a  Xilinx development toolchain which provides us everything necessary to build, test, customize and deploy an embedded linux system. Furthermore, it is an embedded linux distro maintained by Xilinx and targets Xilinx System on Chip (SoC) designs. It also has an integrated full system quick emulator (QEMU).  Developers can test and verify the customized linux solution on QEMU before deploying it on the actual hardware. Additionally, Xilnix also provides Board Support packages (BSP) for various Xilinx evaluation boards. A BSP describes the various hardware features supported by the corresponding evaluation board. Petalinux uses these BSPs to configure the kernel as per specification defined in them.    Read more

UART Peripheral (UART 0, and UART1) implementation on ZedBoard, a development board for Zynq 7000

Abstract:  UART is one of the most common wired communication protocols used in low data rate applications. There are two UART controller interfaces, namely UART 0, and UART 1, readily available in PS part of Zynq 7000, which can be used to communicate with external devices equipped with UART interface. In this tutorial, Both UARTS are implemented over MIO Pins, where UART1, and UART0 are connected to USB UART, and Pmod E  over MIO 48-49, and MIO 14-15 respectively.

Implementation: The block diagram illustrated in the following figure provides an overview of implementation of UART(s) in ZedBoard.


The PS part of Zynq 7000 contains many I/O peripheral (IOP) controller interface for data communication. The two UART interfaces ,UART 0 and UART 1, in PS enable Zynq to communicate with any external devices that incorporates UART interface. These UART interfaces can be mapped to either MIO or EMIO. MIO pins allow PS to directly exchange information with external device over UART interface, while EMIO pins make possible the data exchange between PL and PS within Zynq.

Read more

Part 3: Implementation of GPIO via EMIO in All Programmable SoC (AP SoC) Zynq 7000

Abstract: In this tutorial, ZedBoard is used to implement GPIO via EMIO. Here, the GPIOs i.e., 5 buttons, 8 sliding switches, 8 LEDs, and Pmod A B C D which are not directly accessible in PS of ZedBoard are used. These GPIOs are controlled and monitored by PS through PL via EMIO interface.

Implementation: The block diagram illustrated in following figure provides an overview of implementation


The PS in ZedBoard can communicate with PL via EMIO interface. The PS uses Bank 2 ( Pins 54–85 ) and 3 ((Pins 86–117 ) to access and configure the EMIO interface. Each 32-bit bank independently controls 32 EMIO pins with each pin can be configured either input or output at a time. The EMIO pins are wired to PL, communicating with buttons, LEDs, sliding switches and PMODs.

Read more

Part 2: Implementation of GPIO via MIO on ZedBoard by using Vivado

Abstract: In this tutorial, ZedBoard is used to implement GPIO via MIO. Here, the GPIOs i.e., two buttons, one LED, and Pmod E which are directly accessible in PS of ZedBoard are used to implement the MIO concept.

Implementation : There are following two ways to implement the above-mentioned GPIOs in Zedboard.

  1. Go to following GitHub link Click here for GitHub Link and follow the instructions given in this link.
  2. The second way is explained here:
Read more