cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
akhil.592
Observer
Observer
7,082 Views
Registered: ‎11-24-2014

Unable to boot from QSPI - FSBL

Hi,

I am trying to boot from the QSPI flash, I loaded a mcs file which contains fsbl and Hello world program. When I switch on the board I get the FSBL status as 0xA00E. I loaded the same files in SD card and it is working fine but not with QSPI. I checked the clock frequency of the QSPI and it is set to the deafult value. I am using the ZC706 Board so there is not DDR initialization problem and all.

I tried to debug and I found this part of code is the problem.

 

    /*
     * Get partitions count from partitions header information
     */
    PartitionCount = GetPartitionCount(&PartitionHeader[0]);

    fsbl_printf(DEBUG_INFO, "Partition Count: %d\r\n", PartitionCount);

    /*
     * Partition Count check
     */
    if (PartitionCount >= MAX_PARTITION_NUMBER) {
       fsbl_printf(DEBUG_GENERAL, "Invalid Partition Count\r\n");
        return XST_FAILURE;
#ifndef MMC_SUPPORT
    } else if (PartitionCount <= 1) {
        fsbl_printf(DEBUG_GENERAL, "There is no partition to load\r\n");
        return XST_FAILURE;
#endif
    }

    return XST_SUCCESS;
}

 

 

Xilinx First Stage Boot Loader
Release 2015.1  Jun 28 2016-11:41:22
Devcfg driver initialized
Silicon Version 3.1
Boot mode is QSPI
Single Flash Information
FlashID=0x1 0x20 0x18
SPANSION 128M Bits
QSPI is in Dual Parallel connection
QSPI Init Done
Flash Base Address: 0xFC000000
Reboot status register: 0x60400000
Multiboot Register: 0x0000C000
Image Start Address: 0x00000000
Partition Header Offset:0x00000880
Partition Count: 14
Invalid Partition Count
Partition Header Load Failed
þSBL Status = 0xA00E

0 Kudos
4 Replies
muzaffer
Teacher
Teacher
6,974 Views
Registered: ‎03-31-2012

do you have an fpga bit file in your boot.bin ? try removing it and see if that helps.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
gustoff
Participant
Participant
2,182 Views
Registered: ‎07-07-2016

Hello!

 

Did you solve the problem? I have the same trouble, but I am used NOR flash

 

With regards,

Gustov Vladimir

0 Kudos
lb124206405
Visitor
Visitor
1,812 Views
Registered: ‎04-11-2018

Hi,

I also meet the same the problem on the ZC706 board. Finally, the problem has been found at the flash type of program flash memory. For the ZC706 board, the qspi_dual_parallel should be choosed instead of qspi_single.

Hope this is helpful.

FGW
Newbie
Newbie
798 Views
Registered: ‎08-10-2020

I ran into pretty much the same problem working with the ZC706 board.  I was getting the same debug messages from FSBL. 

To get my project fully booting from SPI Flash after power-up, I had to ensure the "Program Flash" app in the SDK had the exact same SPI settings as the Zynq processing system IP block SPI peripheral settings. In my case, they needed to be set to qspi-x8-dual-parallel and Dual Quad SPI (8 bit) respectively. (That's for the ZC706 hardware ... different platforms might need different settings)

Once I did that, then the normal flow of Vivado handing off the SDK worked for me.  The steps to generate the boot image file and programming flash found in the documentation all worked as expected.

This was with Vivado 2019.1

 

0 Kudos