Tuesday, 23 July 2013

BootROM and Bootloader concepts

BootROM

Permanent code written on the Read Only Memory (ROM) of the Microcontroller, allow the device to Boot(Bootloader’s job) and Initialized all the peripherals, IOs and some hardware components.
Since it is written on read only memory, this code cannot be update or change.
It contains the very first code which is executed by the processor on power-on or reset. à Bootloader’s job is to find this code

Bootloader

>> BootROM contains the very first code which is executed by the processor on power-on or reset.
Bootloader is computer program which is responsible for finding and loading the final OS or a firmware which is supposed to run on the chip.

One main difference from BootROM is that it's usually in writable flash and can be replaced or upgraded.

Bootloader main task: load the kernel into RAM from flash memory.

Specifically, the boot loader was/is responsible for setting up an ATAG list that describing
the amount of RAM,
a kernel command line,
and other parameters.
One of the most important parameters is the machine type. With device trees, an entire description of the board is passed, in turn controlling the board only.

Since there is no standard mechanism for loading the OS (or first code), we use Bootloader to locate first code. This code can be found in flash memory, hard drives etc.
Bootloader is no longer present after it loads the OS.

Bootstrap loader

Bootloader: After power on , the Bootloader is controlling the board and does not rely on the linux kernel on any way.
Bootstrap loader:  performs checksum verification of the linux kernel and also does the decompression and relocation of the kernel to the system memory.

The bootstrap loader acts as a glue between the Bootloader and the linux kernel.

No comments:

Post a Comment

You might also like

Related Posts Plugin for WordPress, Blogger...