源码解压以后,我们可以看到以下的文件和文件夹:
cpu | 与处理器相关的文件。每个子目录中都包括 cpu.c和 interrupt.c、start.S、u-boot.lds。 cpu.c 初始化 CPU、设置指令 Cache和数据 Cache 等 interrupt.c 设置系统的各种中断和异常 start.S 是 U-boot启动时执行的第一个文件,它主要做最早其的系统初始化,代码重定向和设置系统堆栈,为进入 U-boot 第二阶段的 C程序奠定基础 u-boot.lds 链接脚本文件,对于代码的最后组装非常重要 |
board | 已经支持的所有开发板相关文件,其中包含 SDRAM初始化代 码、Flash底层驱动、板级初始化文件。 其中的 config.mk 文件定义了 TEXT_BASE,也就是代码在内存的其实地址,非常重要。 |
common | 与处理器体系结构无关的通用代码,U-boot的命令解析代码 /common/command.c、所有命令的上层代码cmd_*.c、U- boot环境变量处理代码 env_*.c、等都位于该目录下 |
drivers | 包含几乎所有外围芯片的驱动,网卡、USB、串口、LCD、 Nand Flash 等等 |
disk fs net | 支持的 CPU无关的重要子系统: 磁盘驱动的分区处理代码文件系统:FAT、JFFS2、EXT2等 网络协议:NFS、TFTP、RARP、DHCP等等 |
include | 头文件,包括各 CPU的寄存器定义,文件系统、网络等等 configs 子目录下的文件是与目标板相关的配置头文件 |
doc | U-Boot 的说明文档,在修改配置文件的时候可能用得上 |
lib_arm lib_avr32 lib_mips lib_nios lib_blackfin lib_nios2 lib_generic lib_ppc lib_i386 lib_sh lib_m68k lib_sparc lib_microblaze | 处理器体系相关的初始化文件 比较重要的是其中的 board.c文件,几乎是 U-boot 的所有架构第二阶段代码入口函数和相关初始化函数存放的地方。 |
api examples | 外部扩展应用程序的 API和范例 |
nand_spl onenand_ipl post | 一些特殊构架需要的启动代码和上电自检程序代码 |
libfdt | 支持平坦设备树(flattened device trees)的库文件 |
tools | 编译 S-Record或 U-Boot 映像等相关工具,制作 bootm 引导 的内核映像文件工具 mkimage源码就在此 |
Makefile MAKEALL config.mk rules.mk mkconfig | 控制整个编译过程的主 Makefile文件和规则文件 |
CHANGELOG CHANGELOG-before-U-Boot-1.1.5 COPYING CREDITS MAINTAINERS README | 一些介绍性的文档、版权说明 |
标为红色的是移植时比较重要的文件或文件夹。
转自:http://blog.chinaunix.net/uid-26444756-id-3160111.html