We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Visitor tomaszes
Registered: ‎12-26-2018

Zynq 7000 Running bare-metal only on SD-card


I am trying to boot a baremetal application that just uses the sample hello world SDK program from an SD card.  I do not want to use petalinux if possible.

I am using the ZC702 reference platform with 2018.3 Vivado and SDK.

Here's the steps I have done so far:

1) Created a reference vivado design from the ZC702 board.  Exported to SDK, I was able to boot Linux on an SD card with the reference platform.

2) In XSDK, created a hardware platform based off the viviado design .hdf.

3) In XSDK, created a FSBL application on Cortex 0.  No other BSP modfications.

4) In XSDK, created a hello world application on Cortex 0. Same behavior if I try Cortex 1.  No other BSP modficiations.

5) In XSDK, created a BOOT.BIN that has the following BIF:

//arch = zynq; split = false; format = BIN

Formatted SD card correctly (it runs Petalinux).  Put BOOT.bin on /boot parition.  I am unable to see any prints.

If I use JTAG with the application we can see the prints.  Petalinux works ok.

Any advice what we might be doing incorrectly?  Is U-boot required for bare metal only?

Thank you,



0 Kudos
1 Reply
Registered: ‎03-19-2014

Re: Zynq 7000 Running bare-metal only on SD-card

Per UG585, boot.bin must be in the root of the SD file system.   U-boot is not used in baremetal applications.   

Don’t forget to reply, kudo, and accept as solution.
0 Kudos