Figure A-3: HPS Boots First
FPGA Portion
HPS Portion
FPGA
Manager
MPU
Boot
Sources
Configuration Source
Quad SPI
Flash Controller
SD/MMC
Flash Controller
NAND
Flash Controller
EMAC
Altera SoC Device
FPGA
Fabric
HPS Boot
Booting software on the HPS is a multi-stage process. Each stage is responsible for loading the next stage.
The first software stage is the boot ROM. The boot ROM code locates and executes the second software
stage, called the preloader. The preloader locates, and if present, executes the next software stage. The
preloader and subsequent software stages (if present) are collectively referred to as user software.
Only the boot ROM code is located in the HPS. Subsequent software is located external to the HPS and is
provided by users. The boot ROM code is only aware of the preloader and not aware of any potential
subsequent software stages.
The figure below illustrates the typical boot flow. However, there may be more or less software stages in the
user software than shown and the roles of the software stages may vary.
Figure A-4: Typical Boot Flow
Reset
Boot ROM
Preloader
Boot Loader
Operating
System
Application
User Software
Boot Process Overview
Reset
The boot process begins when a CPU in the MPU exits from the reset state. When a CPU exits from reset,
it starts running code at the reset exception address. In normal operation, the boot ROM is mapped at the
reset exception address so code starts running in the boot ROM.
It is possible to map the on-chip RAM or SDRAM at the reset exception address and run code other than
the boot ROM code. However, this chapter assumes that the boot ROM maps to the reset exception address.
Altera Corporation
Booting and Configuration Introduction
A-3
HPS Boot
cv_5400a
2013.12.30