5.1.6. Choosing Boot Loader Software
- Boot ROM
- Real-time operating system or bare-metal application
The BootROM and Preloader stages are needed for all Cyclone® V SoC / Arria® V SoC applications. U-boot and Linux are used by the GSRD, but a custom application may implement a different flow, such as using the Preloader to load a bare-metal application directly.
- Perform additional HPS initialization
- Bring up SDRAM
- Load the next boot stage from Flash to SDRAM and jump to it
- SPL - part of U-Boot. Provided with SoC EDS under GPL (Open Source) License
- MPL - provided with SoC EDS as an example using the HWLibs (bare-metal libraries). Uses BSD license.
The Bootloader has typical responsibilities that are similar with the Preloader, except it does not need to bring up SDRAM. Because the Bootloader is already residing in SDRAM, it is not limited by the size of the OCRAM. Therefore, it can provide a lot of features, such as network stack support.
- RBF File(s) - containing register settings for SDRAM also dedicated I/O and FPGA pin configuration.
- U-Boot source code - for rest of the settings