1.不同的uboot的版本和uboot的提供者的uboot内的文件一般是不一样的,但是对于整个uboot而言,那几个关键的文件一般都是有的。因此,我们只要弄明白一个版本的uboot文件,那么其他版本的也都差不多可以看懂。
我们将以九鼎提供的uboot文件来进行文件的分析。
2.九鼎uboot文件夹介绍:
1)文件介绍:
文件名 |
文件作用 |
.gitignore |
git工具的维护文件 |
arm_config.mk |
.mk后缀的一般是makefile文件,将来会在主Makefile中进行调用
扫描二维码关注公众号,回复:
1637143 查看本文章
|
CHANGELOG |
从名字可知,这是一个修改记录文件,一般我i们不看 |
config.mk |
.mk文件 |
COPYING |
版权声明文件 |
CREDITS |
鸣谢,主要记录对uboot有帮助的人 |
image_split |
一个脚本文件,用来将uboot.bin分割到BL1中的 |
MAINTAINERS |
维护者,主要记录了参与维护uboot的工作人员 |
MAKEALL |
脚本文件,用来帮助编译uboot的 |
Makefile |
主makefile,用来编译和管理整个uboot工程的 |
mk |
快速编译脚本,当一切可以直接执行它来代替make,但是执行前要确保整个编译环境的正确。 |
mkconfig |
makefile编译阶段的主要脚本文件,对于uboot的移植来说是很重要的 |
mkmovi |
脚本文件,和iNand/SD 卡启动有关 |
README |
说明文件 |
rules.mk |
makefile的规则文件,用来约束makefile的执行的,对于makefile来说很重要,但是我们不做具体研究。 |
2)文件夹分析(黄色底色的为需要特别分析的):
文件夹名 |
文件夹作用 |
api |
内部的文件主要是和硬件无关的软件调用函数 |
api_examples |
api相关的测试示例代码 |
board |
board(板),内部主要是和开发板有关的文件夹,原版的uboot文件夹内有很多的文件夹,而每个文件夹就表示世面上存在并成功移植过的开发板。 |
common |
用于存放通用性的文件,与硬件和架构无关的文件。 |
cpu |
和SoC相关的文件,包括start.s |
disk |
和磁盘相关的 |
doc |
文档目录,主要是和uboot相关度的文档,用于帮助我们理解uboot |
drivers |
驱动,从linux中抠出来的设备驱动代码。如:iNand,USB等 |
examples |
示例代码 |
fs |
filesystem文件系统,用于管理Flash |
include |
头文件的目录 |
lib_arm |
arm架构相关的库文件 |
lib_generic |
所有架构通用的库文件 |
libfdt |
和设备树有关的。linux内核在3.4版本后用设备树的方式传参。 |
nand_spl |
和nand相关的操作代码 |
net |
和网络相关的代码和协议 |
onenand_bl1 |
onenand相关的,三星加的 |
onenand_ipl |
|
post |
|
sd_fusing |
用于烧写SD卡的代码 |
tools |
工具类的代码 |
3.SourceInsight工具的使用