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!

AR# 55492

14.5/2013.1 FSBL - Failed to boot a BIN monolithic linux image from Flash (QSPI, NAND, NOR)

Description

The monolithic image (fsbl+uboot, uImage, devicetree.dtb, uramdisk.image.gz) does not boot from flash (QSPI, NAND, NOR). No errors/warning on terminal after power-cycle.

Solution

This is an issue with the FSBL when using 14.5 EDK or 2013.1 SDK.

To solve this issue, apply one of the patches that is found at the end of this answer record.

Following are the details:

  1. The boot images need to be in .mcs format.
  2. For unencrypted cases, the load address can be ZERO.
    1. Zero load address: no changes required
    2. Non-zero load address:
      1. The same address which is provided in the Bootm needs to be provided in the BIF file.
      2. U-Boot configuration file (CONFIG_EXTRA_ENV_SETTINGS, which is present in include/configs/zynq_common.h) needs to be updated to eliminate the step of flash reads, as FSBL already loads the images from flash to DDR.
  3. For secure cases (Enc +Auth)
    1. Zero load address: invalid case. FSBL does Fallback.
    2. Non-zero load address (it is a valid case ):
      1. the same address which is provided in the Bootm, needs to be provided in the BIF file.
      2. U-Boot configuration file (CONFIG_EXTRA_ENV_SETTINGS, which is present in include/configs/zynq_common.h) needs to be updated to eliminate the step of flash reads, as FSBL already loads the images from flash to DDR.


Following is an example of Non-zero load address
:

U-boot

  • The user needs to update with CONFIG_EXTRA_ENV_SETTINGS on include/configs/zynq_common.h:
    Set Auto boot to bootm 0x3000000 0x2000000 0x2A000000
  • Eliminate the steps to read the Linux partitions from the flash
  • u-boot will not load any Linux partition and just execute auto boot command

FSBL

  • fsbl will load U-boot and Linux partitions.

BIF

Following is an example of BIF definition that matches the bootm command:

the_ROM_image:
{ [bootloader]fsbl.elf u-boot.elf [load = 0x3000000, offset = 0x100000]uImage.bin [load = 0x2A00000, offset = 0x600000]devicetree.dtb [load = 0x2000000, offset = 0x800000]uramdisk.image.gz }

Attachments

Associated Attachments

AR# 55492
Date Created 04/10/2013
Last Updated 06/06/2013
Status Active
Type Known Issues
Devices
  • Zynq-7000
Tools
  • EDK - 14.5
  • Vivado Design Suite - 2013.1