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# 63552

2013.3/14.7 - Zynq FSBL - Issues with fallback image offset handling using MD5

Description

When calculating the MD5 checksum, checksum offset is directly used without using the relative address from the start of the image.
 
This means that when the image is at flash offset 0x0 then MD5 checksum works, but when the image is at 0x100000 of the flash then the MD5 checksum fails.

Solution

To work around this, follow the example in the below code which is modified to take the relative offset when modifying the checksum.
 
LoadBootImage()
{
 
            if (PartitionChecksumFlag) {
                                                /*
                                                 * Validate the partition data with checksum
                                                 */
                                                Status = ValidateParition(PartitionStartAddr,
                                                                        (PartitionTotalSize << WORD_LENGTH_SHIFT),
                                                                        ImageStartAddress  +
                                                                        (PartitionChecksumOffset << WORD_LENGTH_SHIFT));
            }
}
There are no plans to fix this issue in ISE Design Suite.

The is issue is fixed in Vivado Design Suite 2014.3.
 
AR# 63552
Date Created 02/11/2015
Last Updated 02/23/2015
Status Active
Type Known Issues
Devices
  • Zynq-7000