The BootROM can search for a valid boot header to load and run a boot image. To validate a boot header, the BootROM looks for the identification string XLNX. When a valid identification string is found in the boot header, the checksum for the boot header is checked. If the checksum is valid, the rest of the boot header and the rest of the boot image (including the FSBL) are loaded into the RPU or APU memory for further processing.
Boot images can be located every 32 KB in the boot memory device, which allows for more than one boot image to be in the memory device.
If an image header is invalid, the BootROM increments the image header address register by 32 KB and tries again. The boot image search mechanism is only available for the Quad-SPI, NAND, SD, and eMMC boot modes.
If a boot header is valid, but the FSBL determines the boot image is corrupt, the FSBL can recover by writing the location of another boot header into the CSU.csu_multi_boot register and issuing a system reset (not a POR). This Figure illustrates the image search mechanism.