world leader in high performance signal processing
Trace: » booting_methods

Booting Methods

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:

  • The ability of the on-chip Boot ROM to load and execute U-Boot
  • The ability of U-Boot to load and execute your application/kernel
  • The ability of application/kernel to read and write storage

Boot ROM Booting U-Boot

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 u-boot.bin).

Armed with the appropriate file, you can write it into the device you wish to boot from. See the loading and upgrading documents for more information.

U-Boot Booting an Application

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:

  • Linux kernel (but you should boot the uImage instead)
  • U-Boot stand alone application
  • Bare metal application