UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
555 Views
Registered: ‎09-19-2016

Zynq FSBL - QSPI init hangs

Jump to solution

Hello,

 

I am using FSBL application provided by SDK 2017.2.

 

FSBL application goes into InitQspi() function but never returns. It actually hangs inside XQspiPs_CfgInitialize(). Going deeper I figured out that the execution of the application simply stops in XQspiPs_Abort function during this line:

 

XQspiPs_WriteReg(InstancePtr->Config.BaseAddress,
		XQSPIPS_RXWR_OFFSET, XQSPIPS_RXWR_RESET_VALUE);

I am not able to even stop the application after this point and see the call stack, SDK does not respond. Any ideas what could be the issue or how to debug it?

 

Regards,
Nenad

0 Kudos
1 Solution

Accepted Solutions
Adventurer
Adventurer
601 Views
Registered: ‎09-19-2016

Re: Zynq FSBL - QSPI init hangs

Jump to solution

I have found a workaround for this problem, but I am not exactly sure what the cause of the problem is.

 

What I noticed first is that InitQspi() doesn't fall if called before ps7_init() function in fsbl application. However, it did hang at some later point in the program. I decided to copy ps7_init.c from our previous project (done in Vivado/SDK 2016.2) for which I didn't have this problem at all. After I copied it in my current hw platform wrapper, the fsbl application completed successfully and I have booted my application from Flash. 

 

Obviously, there is some problem in ps7_init.c file generated by the Vivado/SDK. I am not sure what's the exact problem and I am not planning to debug it.

 

Xilinx, can you please check what's the real cause of this?

 

Thank you,
Nenad

0 Kudos
5 Replies
Moderator
Moderator
538 Views
Registered: ‎09-12-2007

Re: Zynq FSBL - QSPI init hangs

Jump to solution

Is this a custom board? Have you the QSPI enabled in the PS config in vivado?

0 Kudos
Adventurer
Adventurer
529 Views
Registered: ‎09-19-2016

Re: Zynq FSBL - QSPI init hangs

Jump to solution

Hi,

 

yes, it is a custom board. In the past (last year, with previous project) I succeeded to run this FSBL application on this board (I don't see any differences in FPGA designs between two projects).

 

Yes, I have enabled QSPI, otherwise the QSPI init wouldn't be even called in the first place.

 

Regards,

Nenad

0 Kudos
Adventurer
Adventurer
502 Views
Registered: ‎09-19-2016

Re: Zynq FSBL - QSPI init hangs

Jump to solution

Interestingly enough, when I run application from xqspips_flash_lqspi_example.c, I don't have the problem with init function. Moreover, the test completes successfully.

 

What could this mean?

 

P.S. I use the exact same bsp for both fsbl and this test application.

0 Kudos
Adventurer
Adventurer
602 Views
Registered: ‎09-19-2016

Re: Zynq FSBL - QSPI init hangs

Jump to solution

I have found a workaround for this problem, but I am not exactly sure what the cause of the problem is.

 

What I noticed first is that InitQspi() doesn't fall if called before ps7_init() function in fsbl application. However, it did hang at some later point in the program. I decided to copy ps7_init.c from our previous project (done in Vivado/SDK 2016.2) for which I didn't have this problem at all. After I copied it in my current hw platform wrapper, the fsbl application completed successfully and I have booted my application from Flash. 

 

Obviously, there is some problem in ps7_init.c file generated by the Vivado/SDK. I am not sure what's the exact problem and I am not planning to debug it.

 

Xilinx, can you please check what's the real cause of this?

 

Thank you,
Nenad

0 Kudos
37 Views
Registered: ‎01-12-2017

Re: Zynq FSBL - QSPI init hangs

Jump to solution

I had a similar problem, it turned out to be a wrong QSPI clock setting in the ps7 init.