Apollo-S10 SoM
User Manual
www.terasic.com
December 21,
2021
Meanwhile, Terasic provides the micro SD card with built-in image data as HPS flash,
which is used for HPS boot in the later part. The micro SD card stores the following
data:
Second-Stage Boot Loader(SSBL)
Kernel Image and Device Tree Blob(DTB)
Operating System
The factory SoC boot process of Apollo S10 is summarized as follows:
When the Apollo S10 board is powered on, the SDM will read the configuration
firmware and complete SDM initial form the QSPI flash according to the MSEL pin
setting. Then, the SDM will configure the FPGA I/O and core (full configuration).
After the FPGA is first configured, SDM continues to load the FSBL(First-Stage Boot
Loader) from the QSPI flash and transfer it to the HPS on-chip RAM, and releases the
HPS reset to let the HPS start using the FSBL hardware handoff file to setup the clocks,
HPS dedicated I/Os, and peripherals.
The FSBL then loads the SSBL(Second-Stage Boot Loader) from the Micro SD Card
into HPS SDRAM and passes the control to the SSBL. The SSBL enables more
advanced peripherals and loads OS into SDRAM.
Finally, the OS boots and applications are scheduled for runtime launch.
JTAG Programming
The JTAG interface of the Apollo S10 is mainly implemented by the USB Blaster II
circuit on the board. For programming by on-board USB Blaster II, the following
procedures show how to download a configuration bit stream into the Stratix 10 SX
FPGA:
Make sure that power is provided to the FPGA board
Connect your PC to the FPGA board using a micro-USB cable and make
sure the USB Blaster II driver is installed on the PC.
Launch Quartus Prime programmer and make sure the USB Blaster II is