首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > 嵌入式系统 Boot Loader 技术内幕

嵌入式系统 Boot Loader 技术内幕

资料介绍
在专用的嵌入式板子运行GNU/Linux 系统已经变得越来越流行。一个嵌入式Linux 系统
从软件的角度看通常可以分为四个层次:
1. 引导加载程序。包括固化在固件(firmware)中的boot 代码(可选),和Boot Loader 两大
部分。
2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。
3. 文件系统。包括根文件系统和建立于Flash 内存设备之上文件系统。通常用ram disk 来
作为root fs。
4. 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包
括一个嵌入式图形用户界面。常用的嵌入式GUI 有:MicroWindows 和MiniGUI 等。
引导加载程序是系统加电后运行的第一段软件代码。回忆一下PC 的体系结构我们可以知
道,PC 机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR 中的
OS Boot Loader(比如,LILO 和GRUB 等)一起组成。BIOS 在完成硬件检测和资源分
配后,将硬盘MBR 中的Boot Loader 读到系统的RAM 中,然后将控制权交给OS Boot
Loader。Boot Loader 的主要运行任务就是将内核映象从硬盘上读到RAM 中,然后跳转
到内核的入口点去运行,也即开始启动操作系统。


1. 引言
在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统
从软件的角度看通常可以分为四个层次:
1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大
部分。
2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。
3. 文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。 通常用 ram disk 来
作为 root fs。
4. 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包
括一个嵌入式图形用户界面。常用的嵌入式 GUI 有:MicroWindows 和 MiniGUI 等。
引导加载程序是系统加电后运行的第一段软件代码。回忆一下 PC 的体系结构我们可以知
道,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的
OS Boot Loader(比如,LILO 和 GRUB 等)一起组成。BIOS 在完成硬件检测和资源分
配后, 将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中, 然后将控制权交给 OS Boot
Loader。Boot Loader 的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转
到内核的入口点去运行,也即开始启动操作系统。
而在嵌入式系统中,通常并没有像 BIOS 那样的固件程序(注,有的嵌入式 CPU 也会内
嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 Boot Loader 来 完 成 。
比如在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上电或复位时通常都从地址
0x00000000 处开始执行,而在这个地址处安排的通常就是系统的 Boot Loader 程序。
本文
嵌入式系统 Boot Loader 技术内幕
本地下载

评论