cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
327 Views
Registered: ‎08-01-2018

Problem with flashing a bitstream to boot from QSPI flash in Zybo Zynq 7000

I'm trying to flash a bitstream to the QSPI to boot from it with a Zybo Zynq 7000. I can flash the bitstream with Vivado and it works.

I tried to create a boot image with a generic FSBL created with Vitis and the Vivado project bitstream, but when I flash it with Vitis and boot from QSPI with the board nothing happens. The main problem I'm struggling right now is that all the tutorials I found are for older versions of Vitis and Vivado, and a lot of things are different now, for example the need of defining a FSBL when flashing the QSPI.

Also, I tried to do this tutorial for a multiboot application and I can't even run the u-boot image, I'm able to flash the u-boot.bin to the board using XSCT but I'm not able to see anything when I connect with putty to the serial port. Maybe the commands for XSCT are different than the commands for XMD for this case?

I'm using Vitis and Vivado 2020.1.

0 Kudos
Reply
2 Replies
Xilinx Employee
Xilinx Employee
221 Views
Registered: ‎10-12-2018

Hi @grigosback,

>> What do you mean by generic FSBL? Do you mean the FSBL is created with zc702 or zc706 hardware platform which is provided in Vitis? If yes, are you using an evaluation board?

>> If you are not using an evaluation board, please export .xsa file from vivado and create an FSBL project with an exported xsa file in Vitis. Then please create a boot image with this FSBL and try.

>> Please refer to this AR for debugging further.

Thanks & Regards
Anil B
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
Moderator
Moderator
185 Views
Registered: ‎09-12-2007

The program flash utility uses uboot under the hood to program the QSPI. The uboot is executed from PS DDR so this is why the FSBL is needed (to configure the ps ddr). 

You need to create a boot.bin file, and not just a bitstream. You need a bootloader such as FSBL to program the PL using your bitstream. You can create the boot image in the Vitis tool, then use this bin to program the QSPI.

For example, in Vitis 2020.1 I created a simple hello world application project for the zc702.

To create the boot.bin:

create_boot_image.PNG

boot_gui.PNG

Then program the flash:

prog_flash.PNG

flash_gui.PNG