BootROM Debug - 2023.2 English

Versal Adaptive SoC System Integration and Validation Methodology Guide (UG1388)

Document ID
Release Date
2023.2 English

On power up, the BootROM code is run. The BootROM code is responsible for reading the boot mode registers, and then fetching the boot image from the static flash device, such as an SD card or QSPI. If you power on the board and there is no response on the serial port, AMD recommends reading the ERROR_STATUS register in the Vivado hardware manager or in XSCT. A typical error is that the flash image is not found or is corrupt. The BootROM loads the platform loader and manager (PLM) into the platform processing unit (PPU) RAM and is responsible for releasing the PPU from reset and handing off to the PLM.

To check for a potential BootROM issue, use the script available from the Boot Debug blog. To determine the root cause of a particular issue, this script cross-checks the BootROM errors with the BootROM error codes available from this link in the Versal Adaptive SoC Technical Reference Manual (AM011).

Use the Versal Device Programming/Booting Debug Checklist to review requirements, actions, and points to be considered when debugging Versal device configuration and booting. You can use this checklist to debug a first-time load of a basic PDI on a new Versal adaptive SoC board.

Important: The BootROM code is internal to the Versal adaptive SoC and cannot be changed.