Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: title

In this wiki we will discuss how to boot the uboot via JTAG, and use FTP to load the PL image (bin file) using FPGA Manager

Table of Contents

Table of Contents

Creating BIN image:

titlehw sw matching

Users must make sure that the BIT file used to create the BIN file was created in the same Vivado version as the Petalinux (or Yocto branch) used to create the Linux Image


Code Block
titlebit to bin
proc gen_bin {bit} {
	set filename [file rootname [file tail $bit]].bif
	set fileId [open $filename "w"]
	puts $fileId "all:"
	puts $fileId "{"
	puts $fileId "  $bit"
	puts $fileId "}"
	close $fileId
	exec bootgen -w on -image $filename -arch zynqmp -process_bitstream bin
	puts "$filename created successfully"

For example:

Booting u-boot over XSCT:

The script to boot u-boot over XSCT can be seen below:


Code Block
titledow -data
dow -data system.bit.bin 0x4000000

Sending BIN file over FTP:

Setup server on PC:

I used pumpkin, however, and TFTP server can be used:


Set this up to point to the BIN files:

Setup the server in U-Boot:

Code Block
titleserver setup
setenv ipaddr
setenv serverip
setenv tftpblocksize 1024
tftpboot 0x4000000 system.bit.bin



Make sure any firewall is disabled

Configuring PL using BIN file:

Code Block
titlefpga load
fpga load 0 0x4000000 0x19485bc


titleimage size

Users can get the image size from the log after tftpboot

Loading bitstream from TFTP automatically in u-boot:

There is a few ways that this can be achieved. The easiest would be to create a u-boot script with the commands similar to above to load the PL from TFTP.