u-boot 介绍
Uboot 是德国 DENX 小组的开发用于多种嵌入式 CPU 的 bootloader 程序, UBoot 不仅仅支持嵌入式 Linux 系统的引导,当前,它还支持 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS 嵌入式操作系统。UBoot 除 了支持 PowerPC 系列的处理器外,还能支持 MIPS、 x86、ARM、NIOS、XScale 等诸多常用系列的处理器。
获取 u-boot
以 uboot 用户登陆.
[uboot@localhost ~]#mkdir p dev_home/uboot [uboot@localhost ~]#cd dev_home/uboot 从下面地址下载 uboot 的源代码。 http://sourceforge.net/projects/uboot[uboot@localhost uboot]#tar xjvf uboot1.1.4.tar.bz2
[uboot@localhost uboot]#cd uboot1.1.4
u-boot 体系结构
u-boot 目录结构
1. 目录树
[uboot@localhost uboot1.1.4]#tree L 1 d
.
| board
| common
| cpu
| disk
| doc
| drivers
| dtt
| examples
| fs
| include
| lib_arm
| lib_generic
| lib_i386
| lib_m68k
| lib_microblaze
| lib_mips
| lib_nios
| lib_nios2
| lib_ppc
| net
| post
| rtc
` tools
2. board:和一些已有开发板有关的文件. 每一个开发板都以一个子目录出现在当前目录中,比如说:SMDK2410,
子目录中存放与开发板相关的配置文件.
3. common:实现 uboot 命令行下支持的命令,每一条命令都对应一个文件。例如 bootm 命令对应就是 cmd_bootm.c。
4. cpu:与特定 CPU 架构相关目录,每一款 Uboot 下支持的 CPU 在该目录下对应一个子目录,比如有子目录 arm920t 等。
5. disk:对磁盘的支持。
5. doc:文档目录。Uboot 有非常完善的文档,推荐大家参考阅读。
6. drivers:Uboot 支持的设备驱动程序都放在该目录,比如各种网卡、支持 CFI 的 Flash、串口和 USB 等。
7. fs: 支持的文件系统,Uboot 现在支持 cramfs、fat、fdos、jffs2 和 registerfs。
8. include:Uboot 使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的 文件。该目录下 configs 目录有与开发板相关的配置头文件,如 smdk2410.h。该目录下的 asm 目录有与 CPU 体
系结构相关的头文件,asm 对应的是 asmarm.
9. lib_xxxx: 与体系结构相关的库文件。如与 ARM 相关的库放在 lib_arm 中。
10. net:与网络协议栈相关的代码,BOOTP 协议、TFTP 协议、RARP 协议和 NFS 文件系统的实现。
- tools:生成 Uboot 的工具,如:mkimage, crc 等等。