From ElphelWiki

Jump to: navigation, search



Ezynq project is started to create a bootloader for systems based on the Xilinx Zynq SoC without the inconvenience of the non-free tools and/or files. The goal is not just to "free" the code, but to provide users with the higher degree of flexibility in fine-tuning of the configuration parameters.

"Free" the code part

as of 2014/02/23...

Ezynq addresses the potential legal problems with distribution of a product/software based on Zynq platform:

as of 2016/01/13...

Supported boards

Board Chip Manufacturer Tested?
MicroZed Zynq 7Z010 Avnet Y
ZC706 Zynq 7Z045 Xilinx N
ZedBoard Zynq 7Z020 Digilent/Avnet N
10393 Zynq 7Z030 Elphel Y


Boot: Copy them to SD card in order to boot from it.

Install meta-toolchain (Kubuntu 13.04)

sudo apt-get install texinfo chrpath
git clone -b jethro git://git.yoctoproject.org/poky
cd poky
. ./oe-init-build-env
bitbake meta-toolchain

Install Ezynq (Kubuntu 14.04)

git clone https://github.com/Elphel/ezynq.git
cd ezynq
./install_uboot.sh (edit the toolchain path)


cd u-boot-xlnx
./makeuboot <target>

Supported <targets>:

./makeuboot zynq_microzed_config
./makeuboot zynq_zc706_config
./makeuboot elphel393_config
./makeuboot zynq_zed_config
  • The generated files are:
    • boot_head.bin - contains values for RBL register initialization
    • boot.bin - the SPL image
    • u-boot-dtb.img - the u-boot image
    • u-boot.html - configuration settings overview
    • u-boot.map - the bootloader's memory map
    • u-boot - ELF file

Develop (add support for new boards)

  • (not needed anymore?) Add a new board record to the list in the boards.cfg (or leave as is if the item already exists).
  • Create configs/zynq_microzed_defconfig file
  • Create a configuration file for the new board - use include/configs/zynq_microzed.h as a reference
  • Edit (or create new for specific memory and chip) according to the board configuration the following files:
  • Build:
./makeuboot <new_board>_config

Known issues

  • [FIXED] (in Linux) USB does not work yet.
  • [FIXED] (in Linux) Ethernet is not tested (on the board we have it does not work with provided images, so we suspect a hardware problem. If no network:

ifconfig eth0 down
ifconfig eth0 up

Personal tools