在嵌入式操作系统中移植U-Boot

2009-05-13 14:57:38来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折



Bootloader(引导装载器)是用于初始化目标板硬件,

嵌入式操作系统
提供板上硬件资源信息,并进一步装
载、引导嵌入式操作系统运行的固件。在嵌入式系统开
发过程中,很多情况都会涉及底层Bootloader的移植问
题, 即使在有些已有Bootloader的参考开发板上也存在
这种可能。概括来说, 如下情况会考虑进行Bootloader
的移植工作。
① 在自主设计的目标板上,用于引导嵌入式操作系
统及其应用。
② 在厂家未提供Bootloader源码的参考板上,遇有
如下情形之一:
a.在实际应用中需要添加或修改一些功能;
b.为了给自行设计主板移植BOotlOade r提供参考,先在参考板上进行移植以积累经验。
    另外,从
嵌入式系统
实际开发角度讲, 嵌入式操作系统的引导、配置甚至应用程序的运行状况都和bootloader有一定的关联,可以说,掌握Bootloader移植是顺利进行嵌入式系统开发的重要利器。
    与常见的嵌入式操作系统板级支持包B S P相比,Boot loader与底层硬件更为相关, 即每个不同配置的目标板基本都有不同的Bootloader。因为Bootloader往往更依据量体裁衣、定身制作的原则, 以满足要求的最小化代码存放在启动ROM 或Flash中。
    虽然,自行编写Bootloader未尝不可,但从可利用的资源和实际项目开发考虑,采用移植已有的Bootloader源码来解决这一问题更符合大多数项目的开发要求。
1 U-Boot简介
    U—Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目,从FADSROM、8xxROM 、PPCBOOT逐步发展演化而来,其源码目录、编译形式与Linux内核很相似。事实上,不少U—Boot源码就是相应Linux内核源程序的简化, 尤其是一些设备的驱动程序, 从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linux系统的引导, 当前,它还支持NetBSD。VxWorks、QNX、RTEMS、ARTOS、LynxOS
嵌入式操作系统
。其目前要支持的目标操作系统包括0P enB S D 、NetBSD、FreeBSD、4 4BSD 、Linux、SVR4、Esix、Solaris、Irix、SCO、Dell、NCR、VxWorks、LynxOS、pSOS、QNX、RTEMS和ARTOS。这是u-Boot中Universal的一层含义。另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM 、Nios、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富, 对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年1 1月PPCBOOT改名为U-Boot 后逐步扩充的。从PPCBOOT向U—Boot的顺利过渡,很大程度上归功于U-Boot的维护人,德国DENX软件工程中心的Wolfgang Denk(以下简称w.D)本人精湛的专业水平和持着不懈的努力。当前,u-BOOt项目在他的领军下,众多有志于开放源码Boot loader移植工作的嵌入式开发人员, 正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入, 以支持更多嵌入式操作系统的装载与引导。
2 U-Boot主要目录结构
board一目标板相关文件,主要包含SDRAM、Flash驱动;
common 一独立于处理器体系结构的通用代码, 如内存大小探测与故障检测;
cpu一与处理器相关的文件, 如mpc8xx子目录下含串口、网口、LCD 驱动及中断初始化等文件;
driver一通用设备驱动,如CFI Flash驱动(目前对Intel Flash支持较好)
doc— U.Boot的说明文档;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD下UPS支持程序

下一篇:REREGULAR EXPRESSION(2)