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的支持是持续性的。其发布网址为:http://sourceforge.net/projects/u-boot/。 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,其发布网址为:http://www.lart.tudelft.nl/lartware/blob/。 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的一些外围驱动,其发布网址为: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/。 |