Redboot
Redboot
是
Redhat
公司随
eCos
发布的一个
BOOT
方案,是一个开源项目。
当前
Redboot
的最新版本是
Redboot-2.0.1
,
Redhat
公司将会继续支持该项目,其官方发布网址为:
[url]http://sources.redhat.com/redboot/[/url]
。
Redboot
支持的处理器构架有
ARM
,
MIPS
,
MN10300
,
PowerPC
,
Renesas SHx
,
v850
,
x86
等,是一个完善的嵌入式系统
Boot Loader
。
Redboot
是在
ECOS
的基础上剥离出来的,继承了
ECOS
的简洁、轻巧、可灵活配置、稳定可靠等品质优点。它可以使用
X-modem
或
Y-modem
协议经由串口下载,也可以经由以太网口通过
BOOTP/DHCP
服务获得
IP
参数,使用
TFTP
方式下载程序映像文件,常用于调试支持和系统初始化(
Flash
下载更新和网络启动)。
Redboot
可以通过串口和以太网口与
GDB
进行通信,调试应用程序,甚至能中断被
GDB
运行的应用程序。
Redboot
为管理
FLASH
映像,映像下载,
Redboot
配置以及其他如串口、以太网口提供了一个交互式命令行接口,自动启动后,
REDBOOT
用来从
TFTP
服务器或者从
Flash
下载映像文件加载系统的引导脚本文件保存在
Flash
上。当前支持单板机的移植版特性有:
-
支持
ECOS
,
Linux
操作系统引导
-
在线读写
Flash
-
支持串行口
kermit
,
S-record
下载代码
-
监控
(minitor)
命令集
:
读写
I/O
,内存,寄存器、
内存、外设测试功能等
Redboot
是标准的嵌入式调试和引导解决方案,支持几乎所有的处理器构架以及大量的外围硬件接口,并且还在不断地完善过程中。
l
ARMboot
ARMboot
是一个
ARM
平台的开源固件项目,它特别基于
PPCBoot
,一个为
PowerPC
平台上的系统提供类似功能的姊妹项目。鉴于对
PPCBoot
的严重依赖性,已经与
PPCBoot
项目合并,新的项目为
U-Boot
。
ARMboot
发布的最后版本为
ARMboot-1.1.0
,
2002
年
ARMboot
终止了维护,其发布网址为:
[url]http://sourceforge.net/projects/armboot[/url]
。
ARMboot
支持的处理器构架有
StrongARM
,
ARM720T
,
PXA250
等,是为基于
ARM
或者
StrongARM CPU
的嵌入式系统所设计的。
ARMboot
的目标是成为通用的、容易使用和移植的引导程序,非常轻便地运用于新的平台上。
ARMboot
是
GPL
下的
ARM
固件项目中唯一支持
Flash
闪存,
BOOTP
、
DHCP
、
TFTP
网络下载,
PCMCLA
寻线机等多种类型来引导系统的。特性为:
-
支持多种类型的
FLASH
-
允许映像文件经由
BOOTP
、
DHCP
、
TFTP
从网络传输;
-
支持串行口下载
S-record
或者
binary
文件
-
允许内存的显示及修改
-
支持
jffs2
文件系统等
Armboot
对
S3C44B0
板的移植相对简单,在经过删减完整代码中的一部分后,仅仅需要完成初始化、串口收发数据、启动计数器和
FLASH
操作等步骤,就可以下载引导
uClinux
内核完成板上系统的加载。总得来说,
ARMboot
介于大、小型
Boot Loader
之间,相对轻便,基本功能完备,缺点是缺乏后续支持。
l
U-Boot
U-Boot
是由开源项目
PPCBoot
发展起来的,
ARMboot
并入了
PPCBoot
,和其他一些
arch
的
Loader
合称
U-Boot
。
2002
年
12
月
17
日第一个版本
U-Boot-0.2.0
发布,同时
PPCBoot
和
ARMboot
停止维护。
U-Boot
自发布以后已更新
6
次
,
最新版本为
U-Boot-1.1.1
,
U-Boot
的支持是持续性的。其发布网址为
:
[url]http://sourceforge.net/projects/u-boot/[/url]
。
U-Boot
支持的处理器构架包括
PowerPC (MPC5xx
,
MPC8xx
,
MPC82xx
,
MPC7xx
,
MPC74xx
,
4xx)
,
ARM
(
ARM7
,
ARM9
,
StrongARM
,
Xscale
),
MIPS (4Kc
,
5Kc)
,
x86
等等,
U-Boot
(
Universal Bootloader
)
从名字就可以看出,它是在
GPL
下资源代码最完整的一个通用
Boot Loader
。
U-Boot
提供两种操作模式:
启动加载(
Boot loading
)模式和下载(
Downloading
)模式
,
并具有大型
Boot Loader
的全部功能。
主要特性为:
-
SCC/FEC
以太网支持
-
BOOTP/TFTP
引导
-
IP
,
MAC
预置功能
-
在线读写
FLASH
,
DOC, IDE
,
IIC
,
EEROM
,
RTC
-
支持串行口
kermit
,
S-record
下载代码
-
识别二进制、
ELF32
、
pImage
格式的
Image
,对
Linux
引导有特别的支持
-
监控
(minitor)
命令集
:
读写
I/O
,内存,寄存器、内存、外设测试功能等
-
脚本语言支持(类似
BASH
脚本)
-
支持
WatchDog
,
LCD logo
,状态指示功能等
U-Boot
的功能是如此之强大,涵盖了绝大部分处理器构架,提供大量外设驱动,支持多个文件系统,附带调试、脚本、引导等工具,特别支持
Linux,
为板级移植做了大量的工作。
U-Boot1.1.1
版本特别包含了对
SA1100
和
44B0
芯片的移植,所以
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
,其发布网址为:
[url]http://www.lart.tudelft.nl/lartware/blob/[/url]
。
Blob
支持
SA1100
的
LART
主板,但用户也可以自行修改移植。
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
构架处理器
S3C4510B
的
Loader
,可以设置
CPU/ROM/SDRAM/EXTIO
,管理并烧写
FLASH
,装载引导
uClinux
内核。这是国内工程师申请
GNU
通用公共许可发布的。
Bios-lt
的最新版本是
Bios-lt-0.74
,另外还提供了
S3C4510B
的一些外围驱动,其发布
网址为:
[url]http://sourceforge.net/projects/bios-lt[/url]
。
l
Bootldr
Bootldr
是康柏(
Compaq
)公司发布的,类似于
compaq iPAQ Pocket PC
,支持
SA1100
芯片。它被推荐用来引导
Llinux,
支持串口
Y-modem
协议以及
jffs
文件系统。
Bootldr
的最后版本为
Bootldr-2.19,
其发布网址为:
[url]http://www.wearablegroup.org/software/bootldr/[/url]
。