cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
1,961 Views
Registered: ‎03-28-2017

Intermittent boot hang - Picozed w/ custom carrier

I'm going to do my best to give all the details I can.

 

***BACKGROUND***

Hardware/FPGA:

  • I am using a picozed (with Zynq 7030) and a custom carrier board.
  • At the moment, I am using the Zynq PL as a PCIe root host (as in this video). The code is very similar to theirs.
  • Using Vivado 2016.1

 

Software:

  • The boot process goes through FSBL, U-Boot, and linux kernel 4.40-xilinx (with Fedora 20 OS).
  • Boot off the carrier, which allows booting from uSD or PCIe (via an NVME).

 

***PROBLEM***

Whether I am booting from the uSD or PCIe device, there is an intermittent hang (maybe once every ~5 boots) when U-Boot will fail to spin up the kernel (and the boot screen hangs at the "Starting Kernel..." message).

Weird part: This issue goes away when I remove the PCIe root host in the PL code and reappears when I insert it back.

I should also be clear that on uSD boot, the NVME (PCIe boot device) has been totally removed.

An lspci command (on a successful uSD boot with PCIe root host on PL and removed NVME) shows:


# lspci 00:00.0 PCI bridge: Xilinx Corporation Device 7111


so that looks fine.

 

***NEXT STEPS***

  • Is it time to break out ChipScope already? The custom carrier board does make me suspicious.
  • If so, what signals would you look at? PCI_ref_clk, resets, etc.
  • Maybe update to Vivado 2016.4?

 

I guess I'm just wondering if anyone has happened upon an issue like this or if you'd like to bang your head against a wall with me teasing out this weird behavior. Please let me know if you find my description lacking and I'll do my best to provide more info.

 

Thanks!

0 Kudos