12-14-2012 05:15 AM
we have some problems when boot Zynq from SD card or QSPI, and hope to get your help.
Some info about the board:
SD card: Kinston 4G, Class-4
QSPI: N25Q128A13ESF40F (Feedback clock is not connected)
ISE DS: 14.2
PS Clock: 50Mhz
SD MIO: 40 ~ 45,
SD CD: MIO46 (MIO0 is pull down to GND via a resistor when SD boot mode is selected)
SD WP: MIO47
Clock source of SDIO is set to 50MHz (in PCW)
The problem is : no data is output on the data(0) ~ Data(3) of SD, although it seems to have
Valid signals on the SD_CLK and SD_CMD
we tried many times, and got the same result： Zynq can not boot from SD because no signals
were found on data(0) ~ Data(3) of SD.
After we program the .mcs (FSBL + Hello world Example) to QSPI via JTAG, and changed the
Boot mode to QSPI, we found that Zynq also can not be booted, the reason is same as the SD boot
Mode – it seems that no valid data output on the qspi_io(0) ~ qspi_io(3), (we can detect
We also tried to manually assert the PS_POR_B so that boot can be started after all powers are stable,
We got the same result,
We found the same problem in both SD boot and QSPI boot, which is no valid data output in SD Data(0) ~ data(3) or QSPI_io(0) ~QSPI_io(3).
So we think we maybe miss some key points about the boot, which may be the root cause, do you have
Any suggestion about the problem?
Expect your reply.
12-17-2012 12:37 AM
If you can Program the QSPI I guess you can debug an applcation, am I right?
If so, I would recommend to make a Zynq FSBL project, build it, "#define FSBL_DEBUG_INFO" in the "fsbl_debug.h" file and debug the project using:
Right-Click: "Debug as" -> Launch on Hardware.
If you connect a Serial Terminal to your System you should be able to see the Output as you step through.
The FSBL should write, where the Error is.
In the FSBL Code the device initialization (ps7_init) happens right at the beginning and way before the access to the SD-card. If this fails maybe your device configuration is not valid. Let us know how far you get.
08-29-2013 06:27 AM
I have the same problem with a custom board too. The QPSI-Flash is programmable, the sd-card with correct files was inserted.
The debugging with fsbl gave me the following outputs:
Xilinx First Stage Boot Loader Release 14.6/2013.2 Aug 29 2013-14:01:36 Devcfg driver initialized Silicon Version 3.1 Watchdog driver initialized Boot mode is SD SD: rc= 0 send_cmd: Error: (0x00048000) cmd: 55 arg: 0x0 send_cmd: Error: (0x00018100) cmd: 2 arg: 0x0 send_cmd: Error: (0x00018100) cmd: 3 arg: 0x12340000 send_cmd: Error: (0x00018100) cmd: 7 arg: 0x0 send_cmd: Error: (0x00018100) cmd: 179arg: 0x0 dma_trans_cmpl: Error: (0x00018100) SD Initialization Failed. SD: Unable to open file BOOT.BIN: 3 SD_INIT_FAIL FSBL Status = 0xA009 This Boot Mode Doesn't Support Fallback In FsblHookFallback function
Xilinx First Stage Boot Loader Release 14.6/2013.2 Aug 29 2013-14:01:36 Devcfg driver initialized Silicon Version 3.1 Watchdog driver initialized Boot mode is QSPI Single Flash Information FlashID=0x1 0x2 0x20 SPANSION 512M Bits QSPI Init Done Flash Base Address: 0xFC000000 Reboot status register: 0x60000000 Multiboot Register: 0x0000C000 Image Start Address: 0x00000000 Partition Header Offset:0xFFFFFFFF Bank Selection 255
08-29-2013 09:26 AM
08-31-2013 08:55 AM
10-23-2013 05:31 PM
Our custom board, modeled on zc706, does not boot from SD. There is no output to UART1.
Please give some debug hints.
Our boot.bin was made by bootgen, boot.bif has zynq_fsbl.elf, system.bit, u-boot.elf
The u-boot.elf is the same as used for zc706.
Can we examine OCM (where ?) to see if these items were loaded ?
Tomorrow we will oscilloscope DAT0, using microSD sniffer board, has a Polaroid 16GB class 10.
10-25-2013 05:06 PM
Our serial-USB gadget was faulty.
There was memory clocking change needed in FSBL because custom board did not use same DDR3 as zc706.
Now boot.bin was loaded from microSD, FSBL and u-boot ran, then Starting kernel,... got a kernel panic about
So things are progressing...