原创 几种Bootloader简介(一)

2006-10-1 23:54 6563 12 8 分类: MCU/ 嵌入式

几种Bootloader简介


l         Redboot<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


RedbootRedhat公司随eCos发布的一个BOOT方案,是一个开源项目。


当前Redboot的最新版本是Redboot-2.0.1Redhat公司将会继续支持该项目,其官方发布网址为:http://sources.redhat.com/redboot/


Redboot支持的处理器构架有ARMMIPSMN10300PowerPC Renesas SHxv850x86等,是一个完善的嵌入式系统Boot Loader


Redboot是在ECOS的基础上剥离出来的,继承了ECOS的简洁、轻巧、可灵活配置、稳定可靠等品质优点。它可以使用X-modemY-modem协议经由串口下载,也可以经由以太网口通过BOOTP/DHCP服务获得IP参数,使用TFTP方式下载程序映像文件,常用于调试支持和系统初始化(Flash下载更新和网络启动)。Redboot可以通过串口和以太网口与GDB进行通信,调试应用程序,甚至能中断被GDB运行的应用程序。Redboot为管理FLASH映像,映像下载,Redboot配置以及其他如串口、以太网口提供了一个交互式命令行接口,自动启动后,REDBOOT用来从TFTP服务器或者从Flash下载映像文件加载系统的引导脚本文件保存在Flash上。当前支持单板机的移植版特性有:


-          支持ECOSLinux操作系统引导


-          在线读写Flash


-          支持串行口kermitS-record下载代码


-          监控(minitor)命令集:读写I/O,内存,寄存器、 内存、外设测试功能等


Redboot是标准的嵌入式调试和引导解决方案,支持几乎所有的处理器构架以及大量的外围硬件接口,并且还在不断地完善过程中。


 


l         ARMboot


ARMboot是一个ARM平台的开源固件项目,它特别基于PPCBoot,一个为PowerPC平台上的系统提供类似功能的姊妹项目。鉴于对PPCBoot的严重依赖性,已经与PPCBoot项目合并,新的项目为U-Boot


ARMboot发布的最后版本为ARMboot-1.1.02002ARMboot终止了维护,其发布网址为:http://sourceforge.net/projects/armboot


ARMboot支持的处理器构架有StrongARM ARM720T PXA250 等,是为基于ARM或者StrongARM CPU的嵌入式系统所设计的。


ARMboot的目标是成为通用的、容易使用和移植的引导程序,非常轻便地运用于新的平台上。ARMbootGPL下的ARM固件项目中唯一支持Flash闪存,BOOTPDHCPTFTP网络下载,PCMCLA寻线机等多种类型来引导系统的。特性为:


-          支持多种类型的FLASH


-          允许映像文件经由BOOTPDHCPTFTP从网络传输;


-          支持串行口下载S-record或者binary文件


-          允许内存的显示及修改


-          支持jffs2文件系统等


ArmbootS3C44B0板的移植相对简单,在经过删减完整代码中的一部分后,仅仅需要完成初始化、串口收发数据、启动计数器和FLASH操作等步骤,就可以下载引导uClinux内核完成板上系统的加载。总得来说,ARMboot介于大、小型Boot Loader之间,相对轻便,基本功能完备,缺点是缺乏后续支持。


 


l         U-Boot


U-Boot是由开源项目PPCBoot发展起来的,ARMboot并入了PPCBoot,和其他一些archLoader合称U-Boot20021217日第一个版本U-Boot-0.2.0发布,同时PPCBootARMboot停止维护。


U-Boot自发布以后已更新6,最新版本为U-Boot-1.1.1U-Boot的支持是持续性的。其发布网址为:http://sourceforge.net/projects/u-boot/


U-Boot支持的处理器构架包括PowerPC (MPC5xxMPC8xxMPC82xxMPC7xxMPC74xx4xx) ARM ARM7ARM9StrongARMXscale),MIPS (4Kc5Kc)x86等等, U-BootUniversal Bootloader从名字就可以看出,它是在GPL下资源代码最完整的一个通用Boot Loader


U-Boot提供两种操作模式:启动加载(Boot loading)模式和下载(Downloading)模式,并具有大型Boot Loader的全部功能。主要特性为:


-          SCC/FEC以太网支持 


-          BOOTP/TFTP引导 


-          IPMAC预置功能 


-          在线读写FLASHDOC, IDEIICEEROMRTC


-          支持串行口kermitS-record下载代码 


-          识别二进制、ELF32pImage格式的Image,对Linux引导有特别的支持 


-          监控(minitor)命令集:读写I/O,内存,寄存器、内存、外设测试功能等


-          脚本语言支持(类似BASH脚本)


-          支持WatchDogLCD logo,状态指示功能等 


U-Boot的功能是如此之强大,涵盖了绝大部分处理器构架,提供大量外设驱动,支持多个文件系统,附带调试、脚本、引导等工具,特别支持Linux,为板级移植做了大量的工作。U-Boot1.1.1版本特别包含了对SA110044B0芯片的移植,所以44B0移植主要是针对Board 的移植,包括FLASH、内存配置以及串口波特率等等。U-Boot的完整功能性和后续不断的支持,使系统的升级维护变得十分方便。


 


l         Blob


Blob(Boot Loader Object)是由Jan-Derk Bakker and Erik Mouw发布的,是专门为StrongARM 构架下的LART设计的Boot Loader


Blob的最后版本是blob-2.0.5,其发布网址为:http://www.lart.tudelft.nl/lartware/blob/


Blob支持SA1100LART主板,但用户也可以自行修改移植。


Blob也提供两种工作模式,在启动时处于正常的启动加载模式,但是它会延时 10 秒等待终端用户按下任意键而将 Blob 切换到下载模式。如果在 10 秒内没有用户按键,则 Blob 继续启动 Linux 内核。其基本功能为:


初始化硬件(CPU速度,存储器,中断,RS232串口)


-          引导Linux内核并提供ramdisk


-          LART下载一个内核或者ramdisk


-          FLASH片更新内核或者ramdisk


-          测定存储配置并通知内核


-          给内核提供一个命令行


Blob功能比较齐全,代码较少,比较适合做修改移植,用来引导Liunx,目前大部分S3C44B0板都用Blob修改移植后来加载uClinux 


l         Bios-lt


Bios-lt是专门支持三星(Samsung)公司ARM构架处理器S3C4510BLoader,可以设置CPU/ROM/SDRAM/EXTIO,管理并烧写FLASH,装载引导uClinux内核。这是国内工程师申请GNU通用公共许可发布的。                  


Bios-lt的最新版本是Bios-lt-0.74,另外还提供了S3C4510B的一些外围驱动,其发布网址为:http://sourceforge.net/projects/bios-lt


l         Bootldr


Bootldr是康柏(Compaq)公司发布的,类似于compaq iPAQ Pocket PC,支持SA1100芯片。它被推荐用来引导Llinux,支持串口Y-modem协议以及jffs文件系统。                                          


Bootldr的最后版本为Bootldr-2.19,其发布网址为:  http://www.wearablegroup.org/software/bootldr/


       未完待续。

文章评论3条评论)

登录后参与讨论

用户377235 2013-1-18 15:27

前几年确实得到很广泛的应用,现在我也在大量的使用,价格高的和价格低的在功能上有啥区别吗?www.zbjiankong.com

用户1378541 2006-10-26 12:48

2006-10-26 10:04:04 hongge

在线等!

-------------------------------------------

有什么事吗?

用户75168 2006-10-26 10:04

在线等

用户1053025 2006-10-11 13:19

期待

相关推荐阅读
用户1378541 2012-05-24 15:01
wince驱动分类之思维导图
最近用思维导图对wince驱动分类及架构进行了整理。以方便记忆并备忘。   ...
用户1378541 2010-02-04 14:03
s3c2410用vivi通过USB下载yaffs文件系统成功,速度是相当的快
s3c2410用vivi通过USB下载yaffs文件系统成功,速度是相当的快。         经过几天来的摸索,通过强大的GOOGLE搜索功能,不断的实验和调试,终于成功解决了s3c2410利用在v...
用户1378541 2009-12-17 17:20
发帖庆贺,终于搞掂VIVI下通过串口烧写yaffs文件系统
发帖庆贺,终于搞掂VIVI下通过串口烧写yaffs文件系统,非常高兴。...
用户1378541 2009-12-17 17:16
发帖庆贺,通过仿真器在SDRAM运行程序烧写bootloader
      终于搞掂通过仿真器、ADS、axd debugger在SDRAM运行一段程序烧写bootloader,非常开心。...
用户1378541 2009-12-17 17:16
发帖庆贺,搞掂vivi下的tftp下载文件
发帖庆贺,搞掂vivi下的tftp下载文件。...
用户1378541 2009-12-17 17:10
很久没来写blog,转眼就一年多了
很久没来写blog,转眼就一年多了。...
我要评论
3
12
关闭 站长推荐上一条 /2 下一条