此uboot基于九鼎公司的S5PV210进行分析
(1).gitignore 这是一个git工具的文件,和git有关,跟uboot无关。
(2)arm_config.mk 这是一个Makefile文件,将来在主Makefile中会调用此Makefile文件。
(3)CHANGELOG、Changelog_Samsung、CHANGELOG-before-U-Boot-1.1.5 这三个文件是日志文件,记录了这个uboot版本较于之前版本的各种变化以及修改的记录。
(4)config.mk 这是一个Makefile文件,将来在主Makefile中会调用此Makefile文件。
(5)COPYING 存放了版权声明。
(6)CREDITS 记录了对uboot有贡献的人。
(7)image_split 脚本文件,用来分割uboot.bin到BL1。
(8)MAINTAINERS 当前负责uboot源码社区的维护工作者
(9)MAKEALL 辅助帮助编译uboot的脚本
(10)mk 是快速编译uboot的脚本,里面的内容是先清理上次编译产生的uboot以及相关文件,然后进行相应的配置,再进行uboot的编译。
(11)mkconfig 是uboot配置阶段的主要配置脚本,进行了一些条件编译,并且生成配置文件和配置信息。
(12)Makefile uboot源码的主Makefile,负责整个uboot的编译。
(13)mkmovi 一个和iNand/SD卡启动有关的脚本。
(14)README 说明书。
(15)rules.mk 是uboot的Makefile使用的规则。
(1)api 跟硬件无关的功能函数的API,是uboot本身自己用的函数。
(2)api_examples 是一些API相关的测试示例代码。
(3)board 此文件夹下对应许多开发板,对应哪些开发板就表明此uboot支持多少开发板的移植。
(4)common 此文件夹下是一些与具体硬件无关的普遍适用的代码,里面circbuf.c负责CRC校验,cmd开头的.c文件负责实现uboot的命令系统,env开头的.c文件负责实现环境变量等。
(5)cpu 是和SoC硬件相关的,里面存放的是许多SoC系列相关的初始化代码和控制代码,如CPU、中断、串口等SoC内部外设的初始化代码,以及起始代码start.S。
(6)disk 存放和磁盘有关的内容。
(7)doc 存放了很多与uboot相关的英文文档,用来帮助理解uboot。
(8)driver 驱动。
(9)examples 示例代码。
(10)fs file system,文件系统,用来管理Flash资源。
(11)include 头文件目录。
(12)lib_arm 和arm架构相关的库文件。
(13)lib_generic 所有架构通用的库文件。
(14)libfdt 设备树有关的文件夹,可以用设备树来启动传参,进行硬件信息的描述。
(15)nand_spl Nand相关的文件夹。
(16)net 和网络相关的代码,实现了uboot中的tftp、nfs、ping等命令。
(17)sd_fusing 存放了烧录uboot镜像到SD卡的代码。
(18)tools 存放了工具类的代码,如mkimage、envcrc等。