首页 > 技术文章 > 手机研发 > 软件 > 嵌入式系统 Boot Loader 技术内幕(1)

嵌入式系统 Boot Loader 技术内幕(1)

52RD.com 2005年9月22日 IBM            评论:0条 我来说两句
本文详细地介绍了基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念、软件设计的主要任务以及结构框架等内容。

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 的概念、Boot Loader 的主要任务、Boot Loader 的框架结构以及 Boot Loader 的安装等四个方面来讨论嵌入式系统的 Boot Loader。

(52RD.com)
读取...
顶一下
 更多软件资源 到软件论坛讨论
·热门文章 HOT
·手机充电器电路原理图及充电器的安全...
·功率放大器设计的关键:输出匹配电路...
·SD和MMC记忆卡介面技术
·uClinux下Nor Flash的JFFS2文件系统...
·手机结构设计经验总结
·新手必读:关于Linux,你所不了解的...
·Windows Mobile 5.0 模拟器
·移动终端天线设计技巧
·手机结构设计指南之总体设计
·手机结构设计的一般准则
·智能手机:下一代嵌入式系统的界面
·Windows CE 模拟器和远程调试工具
·使用ADS1.2进行嵌入式软件开发(上)
·EMI防治技巧与挑战
·未来手机功能的重大改进 (英)
·嵌入式系统 Boot Loader 技术内幕(1)
·天线收发技术、构型设计动向
·SolidWorks及其相关系列产品
·诺基压8801 EDGE手机拆解
·Dopod 696上跑Windows Mobile 5.0
·精彩评论 HOT
·赞助商链接 SUPPORT
·相关文章 CORRELATION
·嵌入式系统 Boot Loader 技术内幕(4)[9-22]
·嵌入式系统 Boot Loader 技术内幕(3)[9-22]
·嵌入式系统 Boot Loader 技术内幕(2)[9-22]
·特别推荐 RECOMMEND
·评  论 COMMENT
推荐朋友 打印本页