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!

AR# 59476

Zynq-7000 AP SoC: SD Programming/Booting Checklist


This is a list of required items, necessary actions, and points to be considered, while debugging SD booting on Zynq-7000 AP SoC.


Before opening a webcase, collect all of the information requested below:.

1) SD booting.

SD booting is supported by Xilinx.
See (Xilinx Answer 50991) to determine the benefits and downsides of SD booting.
Please provide the board schematics and the name of the SD Memory Card used.

2) Is Zynq Production Silicon?

- Use XMD to read and report the PS_VERSION from 0xF8007080.
The following are known issues related to SD booting on GES :

Please Provide Silicon Version reporting register 0xF8007080

3) In which phase of booting is Zynq is failing? bootROM or FSBL?

In order to determine this, program an image with FSBL debug prints enabled.

#define FSBL_DEBUG_INFO in fsbl_debug.h

If some printing comes out on the UART during boot,
Please Provide a log of the FSBL print out on the UART.
FSBL is a user application and can be easily debugged using SDK.
This should be attempted before filing a webcase.
- If nothing comes out on the UART during boot, first double check the UART baudrate.
Please provide the status of INIT_B (high or low or blinking), REBOOT_STATUS and BOOT_MODE registers after the boot failure.

4) Are SD_CD and SD_WP properly connected on the board?

Please provide ps7_init.tcl to verify SD_CD and SD_WP are properly configured to be directed to MIO or EMIO (depending on the board schematics).

5. Is  the SD running at a supported frequency?

- Check the SD clock configuration. See UG585 chapter 25 about Clocks.
Please provide the register settings and the calculation done to verify the SD clock frequency.

6. Is the JTAG chain operating properly?

- Use XMD to attempt to connect to the CPU.
Please provide JTAG chain description (how many devices on the chain, how many zynq, zynq in cascade or independent JTAG, any level shifter in the chain).

Report any XMD error.

7. Is the Xilinx standalone example working?

Some Debugging is required to understand where the example is failing (Through the SDK debugger or by adding debug prints).
Report the type of failure found in the Xilinx standalone example.
AR# 59476
Date Created 02/19/2014
Last Updated 06/11/2014
Status Active
Type General Article
  • Zynq-7000