嵌入式Linux -- uboot内部文件关系及作用总结

此uboot基于九鼎公司的S5PV210进行分析

1、各个文件的介绍

(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使用的规则。

2、各个文件夹的介绍

(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等。

3、uboot各个文件以及文件夹大致关系图

嵌入式Linux -- uboot内部文件关系及作用总结_第1张图片

你可能感兴趣的:(嵌入式Linux学习)