The Blackfin processor supports many different methods to load and execute U-Boot, depending on the specific processor variant. Whatever the on-chip Boot ROM supports, U-Boot supports. Consult the Boot ROM Boot Modes page for more information.
Once U-Boot is up and running, other applications or operating systems can be booted from any peripheral/device that the Blackfin processor and U-Boot supports. This means U-Boot can load from a much larger variety of sources than the on-chip Boot ROM.
For example, on some Blackfin processors, the Boot ROM can only boot out of parallel flash or serial flash. However, U-Boot can boot other applications over the network, out of NAND, from a hard drive, from a compact flash card, a USB stick, or anything else you can imagine (and code!). U-Boot itself can parse some file system formats which means you could store your application/kernel inside of an EXT2/3, JFFS2, or FAT32 partition.
There are three issues to look at when researching booting and persistent storage:
An LDR file is an image format that the Blackfin Boot ROM boots. The U-Boot build process will automatically generate the file format for you (typically called
u-boot.ldr) by using the ldr-utils package (which is part of the Blackfin toolchain). This format is required for all boot modes except for “Bypass” mode. If you are using “Bypass” mode, then you should use the raw binary image (typically called
Here are just some of the technologies U-Boot supports reading from.
Here are just some of the applications U-Boot can boot.
The common types of ELFs that you will see that are known to work: