Jump to content
  • 0

Zybo is not able to boot up from QSPI Flash


Ajeeth_kumar

Question

Hi, 
I am working on a project where i'm using Digilent zybo AP SoC with xilinx vivado for Hardware design and Xilinx SDK for software design.
My application uses following protocol/peripherals:
1. UARTns16550 PL side (Programmable Logic) in interrupt mode.
2. GPIOs
3. Ethernet mac (lwIP stack)

I started my software design using xilinx lwip perf client application project. Then i started modifying the perf client C code according to my need. 
My project contains Uartns16550, tcp/ip server and client program which receives real-time data.

So coming to my problem, i am able to run my application from xilinx sdk GDB and system debugger. But, when i dump my code in QSPI flash and try to boot, the zybo is not booting up.
I also tried loading different application project like tcp perf server, perf client. By doing this the processor boots up properly through QSPI flash. 
I followed the steps provided by Digilent for programming the flash and i also ensured that the jumpers are in the right place where it has to be. 
I believe that there's a problem with my program since i have started modifying the tcp perf client code for my project. I am not getting a clue where my code is going wrong.


Operating System : Windows 10
Software : Xilinx vivado 2018.3/SDK 2018.3

Any inputs related to this will be appreciated.

Thanks & Regards 
Ajeeth kumar 

 
 

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

Hi Jon,

Thanks for replying to my query,.

As you suggested, i have already tried adding some delay of 5 seconds in the beginning of my C program's main function.  I didn't find any difference by doing this activity.

I will share you the link to my project very shortly  

Link to comment
Share on other sites

The first one in main() is correct.

The 2nd and 3rd one are after PL configuration.

Alternatively, locate this line

    fsbl_printf(DEBUG_INFO,"In FsblHookBeforeBitstreamDload function \r\n");

in fsbl_hooks.c and put it there but it should make no difference.

Link to comment
Share on other sites

Hi @xc6lx45  @jpeyron,

 

I have found out where exactly the problem lies in my project.

There's a problem in setting up of the interrupt for  UART (PL side). I have integrated 4 number of UART16550 IP, where  i have found that in interrupt setup only one UART16500 is setting up properly when it tries to initialize rest of the UART in software side the zybo hangs up. 

I guess i am not setting up the interrupt in a proper way.

My project has Ethernet and UART16550 which works interrupt based.

Below is my interrupt setup. 

interrupt_setup.c

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...