软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件开发专栏>>操作系统>>正文
嵌入式系统Boot Loader 技术内幕(1)
文章出处:转载 作者:不详 发布时间:2005-11-04
在专用的嵌入式板子运行 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。


站内搜索
相关文章
◎Unix发展趋势:向开放架构迈进
◎Linux下硬盘分区详解
◎安全高效 方便简洁—《Sun Solaris 10》测试手记
◎linux使用大全(9)
◎linux使用大全(8)
◎linux使用大全(7)
◎linux使用大全(6)
◎linux使用大全(5)
◎linux指令大全(4)
◎linux指令大全(3)
◎linux指令大全(2)
◎Linux指令大全(1)
◎Sun Solaris指令大全
◎vi使用手册
热门文章
◎Sun Solaris指令大全
◎vi使用手册
◎linux shell 脚本入门
◎学会使用Linux性能分析工具
◎Linux指令大全(1)
◎嵌入式系统Boot Loader技术内幕(2)
◎Linux操作系统12则经典应用技巧
◎Linux的常用网络命令
◎Linux上的C/C++编译器gcc/egcs详解
◎Windows XP鲜为人知的N招
◎Linux下硬盘分区详解
◎Qmail安装及设定
◎linux指令大全(2)
◎uCOS和uClinux的比较
◎Linux嵌入式系统开发平台选型探讨
◎嵌入式系统Boot Loader技术内幕(3)
◎GCC 命令行详解
◎linux指令大全(3)
◎Linux内核模块和驱动的编写
◎linux指令大全(4)
◎使用 Bash shell 脚本进行功能测试
◎linux下网络经典问题指南篇
◎linux使用大全(5)
◎Linux初学之学习方向和方法浅谈
◎嵌入式系统Boot Loader 技术内幕(4)
◎linux使用大全(9)
◎linux命令全记录
◎linux使用大全(6)
◎linux使用大全(7)
◎巧用DLL文件来隐藏你的资料
◎安全高效 方便简洁—《Sun Solaris 10》测试手记
◎linux使用大全(8)
◎Linux解释器原理
◎Linux操作系统中的7件武器详解
◎Linux无线网络技术概述:WLAN
◎如何在Linux下搭建Web应用环境
◎XP自带网络诊断程序解决网络故障
◎完全掌握Windows系统还原12招
◎实时操作系统VxWorks在跟踪雷达系统中的应用
◎自动安装Windows
◎Linux常见紧急情况处理方法
◎操作系统探测
◎资深Linux程序员的开发经验谈
◎如何在Linux环境模拟DOS命令
◎Unix系统安全必读
◎Unix系统安全必读(1)
◎Linux 下 C++程序的异常处理技巧
◎linux下的网络分析Tcpdump命令的使用
◎linux资源管理(1)
◎Linux 下 C++程序的异常处理技巧

Google提供的广告