Embedded Systems Firmware Demystified

The goal of the next few chapters is to build a large program that provides an extensible firmware platform onto (or into) which you can add application programs. This chapter assumes you ve successfully gone through the pain of the previous chapter! If you re booting a new target system, then don t start here, start with the much smaller, more precise steps of the preceding chapter. At this point, I assume you have a solid base of knowledge and working hardware onto which you can start to build the real boot code.
The term boot monitor refers to the code that is run on a computer system as the lowest level of firmware resident to the hardware platform. You can find various types of boot monitors on a wide range of computer systems, certainly not limited to embedded systems. In general, a typical boot monitor provides the system with some very basic startup capabilities, and provides a bit of insurance to the user because if all else fails (meaning the upper layers of the installed OS), the boot monitor will still be there to fall back on. Typically, a boot monitor is built to provide a basic set of capabilities for diagnostic and system startup, and once the system has started up, the boot monitor is no longer in the picture. This is where I would like to introduce the term embedded system boot platform as a superset of a typical boot monitor.
An embedded...