u-boot 的介绍及系统结构
阅读原文时间:2023年07月15日阅读:1

u-boot 介绍

U­boot 是德国 DENX 小组的开发用于多种嵌入式 CPU 的 bootloader 程序, U­Boot 不仅仅支持嵌入式 Linux 系统的引导,当前,它还支持 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS 嵌入式操作系统。U­Boot 除 了支持 PowerPC 系列的处理器外,还能支持 MIPS、 x86、ARM、NIOS、XScale 等诸多常用系列的处理器。

获取 u-boot

以 uboot 用户登陆.

[uboot@localhost
~]#mkdir ­p dev_home/uboot [uboot@localhost ~]#cd dev_home/uboot 从下面地址下载 u­boot 的源代码。 http://sourceforge.net/projects/u­boot[uboot@localhost
uboot]#tar ­xjvf u­boot­1.1.4.tar.bz2

[uboot@localhost
uboot]#cd u­boot­1.1.4

u-boot 体系结构

u-boot 目录结构

1. 目录树

[uboot@localhost
u­boot­1.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


  1. board:和一些已有开发板有关的文件. 每一个开发板都以一个子目录出现在当前目录中,比如说:SMDK2410,

子目录中存放与开发板相关的配置文件.

3. common:实现 u­boot 命令行下支持的命令,每一条命令都对应一个文件。例如 bootm 命令对应就是 cmd_bootm.c。


  1. cpu:与特定 CPU 架构相关目录,每一款 U­boot 下支持的 CPU 在该目录下对应一个子目录,比如有子目录 arm920t
    等。

5. disk:对磁盘的支持。

5. doc:文档目录。U­boot 有非常完善的文档,推荐大家参考阅读。

6. drivers:U­boot 支持的设备驱动程序都放在该目录,比如各种网卡、支持 CFI 的 Flash、串口和 USB 等。

7. fs: 支持的文件系统,U­boot 现在支持 cramfs、fat、fdos、jffs2 和 registerfs。

8. include:U­boot 使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的 文件。该目录下 configs 目录有与开发板相关的配置头文件,如 smdk2410.h。该目录下的 asm
目录有与 CPU 体

系结构相关的头文件,asm 对应的是 asm­arm.

9. lib_xxxx: 与体系结构相关的库文件。如与 ARM 相关的库放在 lib_arm 中。

10. net:与网络协议栈相关的代码,BOOTP 协议、TFTP 协议、RARP 协议和 NFS 文件系统的实现。