-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Mastering Embedded Linux Development
By :

In an embedded Linux system, the bootloader has two main jobs: initializing the system to a basic level and loading the kernel. In fact, the first job is somewhat subsidiary to the second in that it is only necessary to get as much of the system working as is needed to load the kernel.
When the first lines of the bootloader code are executed, following a power-on or reset, the system is in a very minimal state. The Dynamic Random Access Memory (DRAM) controller is not set up, so the main memory is not accessible. Likewise, other interfaces are not configured, so storage that’s accessed via NAND (NOT AND) flash controllers, MultiMediaCard (MMC) controllers, and so on is unavailable. Typically, the only resources that are operational at the beginning are a single CPU core, some on-chip Static Random Access Memory (SRAM), and the boot Read-Only Memory (ROM).
A system bootstrap consists of several phases of code, each bringing more of the system...