U-boot目录简介
1.文件介绍
Gitignore:Git是一个版本管理工具(类似SVN)。
Arm_config.mk:后缀是.mk,是一个makefile文件,其他的makefile文件可以调用。
Changelog:修改记录文件,记录u_boot项目的版本变迁以及每个版本较上版本的修改记录。
Config.mk:和arm_config.mk的性质差不多。
COPYING:版权声明,uboot本身是GPL许可证的。
CREDITS:鸣谢。
image_split:一个脚本,用来分割uboot.bin到BL1的。
MAINTAINERS:维护者,当前维护uboot源码的社区工作者。
MAKEALL:一个脚本,帮助编译uboot。
Makefile:是uboot源代码的主makefile,整个uboot别编译时就是用这个makefile管理编译的。
Mk:快速编译脚本。
Mkconfig:是uboot配置阶段的主要配置脚本,uboot的可一直性很大程度上就是靠这个配置来维护的。
Mkmovi:一个脚本,和iNand/SD启动有关。
README:使用说明书。
Rules.mk:uboot的makefile使用规则。
2.目录介绍
Api:硬件无关的功能函数API。
Api_examples:API的相关测试实例代码。
Board:board文件夹下的每一个文件都代表一个开发板,表示当前uboot所支持的开发版。uboot的配置阶段(其实就是根目录下面的mkconfig脚本和Makefile中配置有关的部分)主要解决的问题就是在可移植性领域能够帮助我们确定具体的文件夹的路径,然后编译时可以找到应该找到的文件,才能编译成功。因此board目录下的不同会造成配置时的不同。如果移植时没注意这里肯定要失败。
Common:存放一些常用代码。
Cpu:存放SOC相关初始化和控制代码。
Disk:和磁盘有关。
Doc:文档目录,存放相关Uboot 的介绍,帮助理解uboot代码。
Drivers:驱动(uboot中的驱动其实是linux中的驱动的一部分)。
Examples:示例代码。
Filesystem:文件系统。
Include:头文件目录。
.lib开头的目录:是架相关的库文件。
Libfdt:与设备树有关。
nand_spl。nand相关的。
Net:网络相关的代码。
onenand开头的:是onenand相关的代码。
Post:
sd_fusing:代码实现了烧录uboot镜像到SD卡的代码。
Tools:里面是一些工具类的代码。譬如mkimage。
注:红色为重点学习文件目录。