Programming PL in ZCU102 via FPGA Manager with BIN loaded over FTP

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

Creating BIN image:

Users can use the XSCT script below to input a bit files, and output the bin image. This creates a BIF, and uses this BIF in bootgen to create the bin file:

For example:

Booting u-boot over XSCT:

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

Users can program the PL here too using the command below. However, this can be time consuming:

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:

For example:

Configuring PL using BIN file:

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. 

Another way, would be to patch the uboot CONFIG_EXTRA_ENV_BOARD_SETTINGS in the u-boot-xlnx\include\configs\xilinx_zynqmp.h. For example, here I have updated the jtagboot:

Users can use the OSL flow seen here to crate the u-boot binary for testing, and once the test is complete create a git patch against the u-boot branch used in the Petalinux/Yocto.

This patch can then be added to the Petalinux/Yocto u-boot-xlnx recipe.