Intel® Arria® 10 Hard Processor System Technical Reference Manual

ID 683711
Date 8/28/2023
Public
Document Table of Contents

A.4.8. Second-Stage Boot Loader

The function of the second-stage boot loader is user-defined. The Intel® -provided second-stage boot loader is a combination of initialization, configuration and U-Boot code and contains features such as:

  • SD/MMC controller driver
  • QSPI controller driver
  • Ethernet driver plus protocol support
  • Drivers for system-level IP, such as Clock Manager, System Manager, and FPGA Manager
  • Cache memory drivers
  • UART, timer and watchdog drivers
  • FAT file system support
  • Flat Image Tree (FIT) image processing
  • U-Boot console support including basic essential debug commands
  • Cryptographic library
  • Flattened device tree (FDT) processing library
  • System and memory firewall configuration
  • Initialization code for the HPS and FPGA I/O and the interface that loads the next stage of software

If a secure boot is required, the second-stage boot loader can be used to increase the level of security and to authenticate and initiate decryption of the next boot image if necessary.

If the hard memory controller I/O in the SoC device have been configured through the FPGA or HPS and the SDRAM firewall access has been lowered, the second-stage boot loader can be used to load the next stage of the boot software into SDRAM. The maximum length for a second-stage boot loader to fit into on-chip RAM is 208 KB with authentication and 224 KB without authentication. A typical next software stage is loading the application OS software. The second-stage boot loader is allowed to load the next stage boot software from any device available to the HPS. Typical sources include the same flash device that contains the second stage boot loader, a different flash device, or a communication interface such as an EMAC.

If the second-stage boot loader must be authenticated, it must store a public key. Below is a figure which depicts the second-stage boot loader image presented to the boot ROM, during a secure, authenticated boot.

Figure 168. High-Level Diagram of Second-Stage Boot Loader Image