Intel® Arria® 10 SoC UEFI Boot Loader User Guide

ID 683536
Date 12/15/2017
Document Table of Contents Generated Files from UEFI Compile

Compiling the UEFI source creates four files in the <your_uefi_directory>/uefi-socfpga/Build/ folder:
Table 7.  Generated Files from UEFI Compile
File Description
~ /uefi-socfpga/Build/PEI.256 (256 KB)
  • This file is the main UEFI boot loader and contains the device tree for the HPS. The code initializes the HPS, which can boot directly to baremetal application, RTOS or Linux. You can extend the UEFI boot phase to boot to the Driver Execution Environment ROM (DXE.ROM) and configure the UEFI network and shell support.
  • The .256 in the file name indicates the on-chip RAM size is 256 KB. Because the file size is 256 KB, it loads directly into the HPS on-chip using Arm* DS-5* Intel® SoC FPGA Edition Development Studio.
  • This file generates the Pre EFI Initialization ROM (PEI.ROM) file. The PEI.ROM file contains four duplicate images of the UEFI boot loader
~ /uefi-socfpga/Build/PEI.ROM (1MB = 256KB X 4)

This file is programmed onto the flash daughter card. The size of this file is four times bigger because the boot ROM can support up to four backup images. For example, if the first image (256KB) is corrupted, the boot ROM loads the second image and so on.

~ /uefi-socfpga/Build/load_uefi_fw.ds

This is the Arm* DS-5* Intel® SoC FPGA Edition script template. It is imported to the Arm* DS-5* Intel® SoC FPGA Edition tool and loads the UEFI firmware for debug and development purposes. This script loads the debug symbols for the user. Currently, it only supports the GCC compiler. ARMCC is not supported.

~ /uefi-socfpga/Build/DXE.ROM This file loads the optional second stage of the UEFI boot loader when you want to boot the UEFI shell and utilize the TFTP feature or run a UEFI application.The difference between the PEI.ROM file and the DXE.ROM file are:
  • The PEI.ROM file loads and executes from the HPS on-chip RAM. The DXE.ROM file executes from the DDR SDRAM.
  • The PEI.ROM file generally initializes the HPS while the DXE.ROM file targets the Ethernet MAC and PHY providing full network stack support.