Typically, the main responsibilities of the Preloader are:
- Perform additional HPS initialization
- Bring up SDRAM
- Load the next boot stage from Flash to SDRAM and jump to it
Currently, two different Preloader options are available:
- 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 (Altera bare-metal libraries). Uses BSD license.
Note: The Preloader requires a special header to be placed at the beginning of the next stage boot image. Also, the header contains a CRC value used to validate the image. The header can be attached to an image by using the mkimage utility that is included with the SoC EDS.