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!

Page Bookmarked

AR# 55082

Zynq-7000 AP SoC: BootROM Error Codes for 7z020 CES Devices


When the BootROM detects an error during the boot process, it stores an error code that the user can access in order to determine why the device did not boot.

Note: These error codes are only for the pre-production 7z020 devices.

For 7z045 and all production devices, refer to the UG585 Technical Reference Manual, chapter 6 - Boot and Configuration.


The error codes for the Z-7020 CES device are different to those used in the Z-7045 CES and all production devices. 

The error codes for Z-7045 CES and all production devices are defined in the Zynq-7000 AP SoC Technical Reference Manual, UG585.

When the BootROM detects an error during the boot process, it stores an error code in the REBOOT_STATUS or register. Those error codes are listed in the table below.

Note: Similar types of errors have the same error codes, potentially making the debugging process more difficult. This is acknowledged in (Xilinx Answer 47568) "Zynq-7000 AP SoC, Boot - BootROM Error Codes are Not Unique."


This Error Codes only apply to the Z-7020 CES and Z-7020 ESLAB devices.

 Error Code Access:

After the BootROM had detected an error, the REBOOT_STATUS [BOOTROM_ERROR_CODE, 15:0] register bit field contains a 16-bit error code. The error codes are listed in the table below. These can be accessed by JTAG using TBD.

Error Code Values Table - Only for Z-7045 CES and ESLAB devices:

Note: the UG585 Zynq Technical Reference Manual contains error codes for Z-7045 CES and all production devices.
All errors result in a system lockdown.
BOOT_ROM_CRC_FAIL occurs if the CRC unlock value created does not unlock the DevC block. This is a catastrophic error in that JTAG is not enabled and there is no recovery possible.
* Retry booting, if the error code persists then replace the device.
0x80xx The BootROM failed to write the proper value into the devcfg.UNLOCK register. This is a catastrophic error. JTAG is kept disabled and a POR reset is needed to reset the device. * If the problem persists, replace the device.
The boot mode is not recognized.
* Check the strap pin settings.
There is an issue initializing the PCAP interface. It does not start up correctly and the BootROM times out.
* Ensure that the PL is powered up.
The handoff to the FSBL/User code did not start up correctly.
There is a problem decrypting the secure FSBL/User code boot image.
There is a problem authenticating the secure FSBL/User code boot image.
There is a problem with the FSBL/User code boot image that is not covered by the other error checks.

* Check the Header Format
* Flash device is blank.
* In SD boot MIO pin 0 is not pulled low.(Xilinx Answer 52016)

The Register Initialization address/data pair is writing to an illegal address.
* Make sure the register address is within its allowed range.
The Start of Execution word in the BootROM Header either not 0 or not in the proper address range for execute-in-place.
* Ensure that this parameter points to the proper location.
The cause of this error code is either:
1) The image is encrypted but the boot header indicates execute-in-place, or
2) Boot Mode is NAND or SD card but the image header indicates execute-in-place.
* Check to see that the boot header is programmed with a supported combination of device and execute-in-place.
The checksum of the header is not correct. This triggers the Boot Header Search for NOR, NAND, and Quad-SPI boot modes.
* Make sure the header has the correct checksum value.
The BootROM triggered an exception. This should not happen. It indicates that the device is bad.
* If the problem persists, replace the device.



AR# 55082
Date 04/24/2014
Status Active
Type Documentation Changes
  • Zynq-7000