U-Boot是德国DENX小组开发的用于多种嵌入式CPU(MIPS、x86、ARM、XScale等)的Bootloader程序,U-boot不仅支持嵌入式Linux的引导,还支持VxWorks,QNX等多种嵌入式操作系统。
从下面地址可以下载到uboot的源代码:
目录结构
进入到Uboot目录,可以得到如下的目录结构:
1.board:包含和开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中,比如:SMDK2410,子目录中存放与开发板相关的文件。
2.common:实现u-boot支持的命令。
3.cpu:与特定cpu架构相关的代码,每一款Uboot下支持的cpu在该目录下对应一个子目录,比如有子目录arm920t等。
4.disk:对磁盘的支持。
5.doc:文档目录。Uboot有非常完善的文档,推荐参考阅读。
6.drivers:Uboot支持的设备驱动程序都放在该目录,比如各种网卡、支持CFI的Flash、串口和USB等。
7.fs:对文件系统的支持。
8.include:Uboot使用的头文件。该目录下configs目录有与开发板相关的配置头文件,如:smdk2410.h。该目录下的asm目录有与cpu体系结构相关的头文件。
9.net:与网络协议栈相关的代码,例如:tftp协议、RARP协议的实现。
10.tools:生成Uboot的工具。如:mkimage、crc等。
编译
Uboot的makefile从功能上可以分成两个部分:
1.执行每种board相关的配置。
2.编译生成uboot.bin文件安。
uboot.bin的生成也分为两步,以mini2440为例来说明,如下(可用Uboot一般为转门移植的Uboot,未经移植的Uboot并不支持mini2440):
1.选择要使用的board:
$make mini2440_config
2.编译生成uboot.bin:
$make CROSS_COMPILE=arm-linux-
在生成uboot.bin后,可以使用H-JTAG烧写Uboot。
阅读(1626) | 评论(0) | 转发(0) |