We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 50869

Zynq-7000 Example Design - Use of MicroBlaze to output "Hello World" using the PS UART


This example design allocates a MicroBlaze design in the PL. Zynq SoC boots from an SD card loading the bitstream (that contains the MicroBlaze and initialized the BRAM with a bootloop application) and u-boot. At the u-boot prompt, SDK can be used to debug a simple MicroBlaze application that outputs "Hello World" using the PS UART.

Note: An Example Design is an answer record that provides technical tips to test a specific functionality on Zynq-7000. A tip can be a snippet of code, a snapshot, a diagram or a full design implemented with a specific version of the Xilinx tools. It is up to the user to "update" these tips to future Xilinx tools releases and to "modify" the Example Design to fulfill his needs.  Limited support is provided by Xilinx on these Example Designs.


Implementation Details
Design Type PS and PL
SW Type Standalone
CPUs Single CPU
PS Features UART
Boards/Tools ZC702
Xilinx Tools Version EDK 14.2
Other details MicroBlaze BRAM initialized with bootloop 
Address Map

Files Provided
Archived XPS project.
Archived SDK project.
Block Diagram

Step by Step Instructions 
1.       Open archived XPS project
2.       Create the bitstream system.bin
3.       Open archived SDK project
4.       Generate download.bin
a.       Open Program FPGA 
b.       Select Bitstream: system.bit
c.       Select BMM File: system_bd.bmm
d.       Software Configuration: microblaze_0, bootloop
e.       Program
f.        Download.bin is created

5.       Create BOOT.BIN

a.       Open Create Boot Image
b.       Add the zynq_fsbl_0.elf
c.       Add the bitstream download.bin
d.       Add the u-boot.elf
e.       Create Image
f.        BOOT.bin is created

6.       Copy BOOT.BIN in your SD card
7.       Setup your terminal ( BAUD 115200 )
8.       Boot Zynq in SD mode
9.       Stop at u-boot prompt
10.     Connect with XMD: connect mb mdm
11.     Take note of the TCP PORT No ( 1234 )
12.     Debug As for hello_world_on_mb

a.      Choose Debug Configuration
b.      Enable Remote Debug
c.      Port number ( 1234 )
d.      Debug

13.   Verify u-boot is still running
14.   Run the debug
15.   Hello World output by MicroBlaze appears on the Terminal


Associated Attachments

Name File Size File Type
mb_on_zynq.zip 14 KB ZIP
Sdk_Project_Zynq_Mb.zip 5 MB ZIP

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
51779 Zynq-7000 AP SoC - Example Designs and Tech Tips N/A N/A
AR# 50869
Date Created 10/19/2012
Last Updated 03/29/2013
Status Active
Type General Article
  • Zynq-7000
  • Microblaze
  • Processing System 7
Boards & Kits
  • Zynq-7000 All Programmable SoC ZC702 Evaluation Kit