
e rst thing to try when having boot problems is to check the Cold boot. e Warm boot is a little more
versatile, but depending on how the soware congures the chip, it may fail in dierent ways. Cold boot is
initiated by either pressing the Cold reset button (if available) or by power-cycling the board or the device.
e following may cause the Warm boot to fail, but not the Cold boot:
• Application soware enabled Warm RAM Boot incorrectly
• Application soware changed the Warm reset options inconsistently with the usage scenario
• QSPI is used as a boot source, but the QSPI is not reset on a Warm reset, as required by Boot ROM for
some QSPI devices with more than 16 MB of Flash
Another thing to check is whether the HPS works at all. is can be done by connecting a debugger (if the
JTAG connection is available on the board). If the debugger can connect reliably, then probably the HPS is
ne.
If a debugger connection is available, more information can be obtained by connecting a debugger to the
board and looking at registers maintained by Boot ROM and Preloader to determine what happened. e
registers are available in sysmgr.romcodegrp and consist of:
•initswstate - e Preloader writes the magic value ‘0x49535756’ to it just before it jumps to a valid
next boot stage. e absence of that value means that Preloader did not jump to the next boot stage.
•initswlastld - Contains the index of the last Preloader soware image loaded by the Preloader from
the boot device. ere are a total of 4 Preloader images.
•bootromswstate - Information about the BootROM state, including:
• Bit 0: if set, it means that the BootROM tried all four images and none of them worked
• Bit 1: set if the Preloader was started (then it may have failed)
• Bits 11:8: which ash boot source was used:
• NAND: 0
• SD/MMC: 1
• QSPI: 2
Note: e contents of bootromswstate may change in future revisions of the BootROM.
If a debugger connection is not available, and boot from Flash is requested, then the ash signals could be
monitored for activity, if available for observation on the board. If there is some activity on the ash lines,
then probably HPS is OK.
If it is still not clear whether the HPS is OK, then the power, clock and reset signals could be veried.
Check the power supplies for the correct voltages, absence of excessive noise and also power up
sequencing. Use a scope to look at the input clocks, for amplitude, frequency and excessive jitter. Look at
the reset signals to conrm they are correct.
If the HPS is OK but the Boot ROM does not seem to successfully load the Preloader, it may be because
one of the following reasons:
• Preloader images are corrupted in Flash, and the Boot ROM cannot load any of them.
• Preloader images are correct in ash, but communication with the Flash fails.
• Preloader is loaded correctly, but it does not do what we expected it, or crashes because of a soware
bug.
In order to reduce the likelihood of Flash communication issues, CSEL can be set to 00, if congurable on
the board. is prevents Boot ROM from reprogramming the PLLs and also forces it to use the lowest
possible speed when communicating with the Flash device.
AN-709
2016.01.27 Boot ROM 13
HPS SoC Boot Guide - Cyclone V SoC Development Kit Altera Corporation
Send Feedback