The bootloader's role in an embedded system cannot be overstated. It is the first piece of software that takes control upon applying power.
This chapter examined the role of the bootloader and discovered the limited execution context in which a bootloader must exist.
Das U-Boot has become a popular universal bootloader for many processor architectures. It supports a large number of processors, reference hardware platforms, and custom boards.
U-Boot is configured using a series of configuration variables in a board-specific header file. Appendix B, contains a list of all the standard U-Boot command sets supported in a recent U-Boot release.
Porting U-Boot to a new board based on a supported processor is relatively straightforward. In this chapter, we walked through the steps of a typical port to a board with similar support in U-Boot.
There is no substitute for detailed knowledge of your processor and hardware platform when bootloader modification or porting must be accomplished.
We briefly introduced additional bootloaders in use today so you can make an informed choice for your particular requirements.
7.6.1. Suggestions for Additional Reading
Application Note: Introduction to Synchronous DRAM Maxwell Technologies www.maxwell.com/pdf/me/app_notes/Intro_to_SDRAM.pdf
Using LD, the GNU linker Free Software Foundation www.gnu.org/software/binutils/manual/ld-2.9.1/ld.html
The DENX U-Boot and Linux Guide (DLUG) for TQM8xxL Wolfgang Denx et al., Denx Software Engineering www.denx.de/twiki/bin/view/DULG/Manual
RFC 793, "Trivial File Transfer Protocol" The Internet Engineering Task Force www.ietf.org/rfc/rfc793.txt
RFC 951, "Bootstrap Protocol" The Internet Engineering Task Force www.ietf.org/rfc/rfc951.txt
RFC 1531, "Dynamic Host Control Protocol" The Internet Engineering Task Force www.ietf.org/rfc/rfc1531.txt
PowerPC 405GP Embedded Processor user's manual International Business Machines, Inc.
Programming Environments Manual for 32-bit Implementations of the PowerPC Architecture Freescale Semiconductor, Inc.