Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

Steps to Initialize Zynq US+ PL?

Started by dsummers, September 04, 2020, 08:33:53 PM

Previous topic - Next topic


I am new to Zynq, but I have a lot of experience with Microblaze and FPGA's in general.  I have purchased two TE0802 boards as a way to get familiar with Zynq US+ before building my own custom board.

I am using Vivado 2020.1

What steps do I need to take to initialize the PL of a Zynq Ultrascale+?   I have a very simple design with one Zynq  core running "Hello World" and a constant block connected to the LEDS on the TE0802. 

If I program my bitfile directly, then the LEDs light up as expected (but Hello World does not run).  If I run my hello world application from SDK (right click on application -> Run As -> Launch on Hardware), then hello world runs, but the LEDs do not illuminate indicating that the PL is not initialized.

I feel like I am missing something really simple here.  Any help would be appreciated.

Do I need to run a FSBL in order to load the PL bitfile and run my application, or is there a way to do this just using the debugger?

Do I need to add a function call to my hello world application to release the PL configuration so that it can run?

Update:   Solved.  I just forgot to set the bitfile in the "Debug Configurations -> Target setup".  Once I added the bitfile, it works as expected.


PS(ARM Part) and PL(FPGA Part) works together. Program PL with bitstream does not initilise PS.

We have a 19.2 reference design only. When you are new with ZynqMP, I would suggest to use them with 19.2 vivado/petalinux.  Reference Designs includes source code and also prebuilt binaries -->  Boot.bin (one with barmetal hello TE0802 app and one with uboot to load linux image.ub from SD).
ZynqMP can boot from SD --> use SD with one fat32 parition and put Boot.bin and image.ub on the SD card. Here's there like to the design documentation the download:

Here are also some reference to Xilinx documentation which you should also check when you start with ZynqMP: