Bootloader - ArrowElectronics/data-storm-daq GitHub Wiki
Complex application class processors, such as the Cortex-A9 found in the Cyclone V SoC FPGA, require a bootloader to boot from reset. The Hard Processor System (HPS) boot flow is described here. Instructions are provided below for creating a custom Preloader or Secondary Program Loader (SPL) and U-Boot bootloader.
As a prerequisite the hdl must be built and referenced when creating a custom version of U-Boot. A hardware to software handoff folder is created during the hdl build process. This folder is referenced during the bootloader build process and is used to convey specific HPS selections made in Platform Designer during the Bootloader build process. An example of this would be to indicate which peripherals (UART, USB, Ethernet etc) were enabled or how the HPS PLLs should be configured (based on the selected clock values).
Build the Bootloader
-
Open a shell (Ctrl+Alt+T)
-
Setup up the environment for the Bootloader build. Ignore the DS-5 installation warning. It will not be utilized here.
$ ~/intelFPGA_lite/18.1/embedded/embedded_command_shell.sh -
Launch bsp-editor
$ bsp-editor -
Create a new BSP
File --> New HPS BSP -
Reference the Preloader settings directory
Navigate to the /home/soceds/datastorm_daq/hdl/projects/arrow_ghrd/tei0022/partial_source/hps_isw_handoff/system_bd_sys_hps directory. Select "Open", then select "OK". -
Generate the Preloader
Select "Generate" to create the Preloader project. Select "Exit" to close bsp-editor. -
Build Preloader
Return to the Embedded Command Shell and enter the following:
$ cd /home/soceds/datastorm_daq/hdl/projects/arrow_ghrd/tei0022/partial_source/software/spl_bsp $ make -
The newly created preloader-mkpimage.bin is now located in the spl_bsp directory
-
Build uboot
$ make uboot -
The newly created u-boot.img is now located in the spl_bsp/uboot-socfpga directory
Next - Build Linux Kernel
Return to Golden Hardware Reference Design
Return - GSRD