嵌入式linux基础之u-boot目录结构分析
要了解U-boot,建议先从目录下手,有了初步的了解,然后再去看makefile,查看整个编译链接过程,快速上手整个框架


然后可以分成以下几种:
一:和平台相关的
和平台相关,意思就是说和硬件相关,和板子相关,也就是说我们代码改动基本上也就是改动这些
arch 与架构体系有关的代码。分析 uboot 启动源码的时候需要重点关注的
board :board 文件夹就是和具体的板子有关的,我们在做移植或者修改的时候一般在这里吗
configs 配置开发板的文件
drivers 驱动相关代码
dts 设备树
include 头文件包含,许多驱动的配置参数可以在这里面找到
二:和平台无关的
api 与硬件无关的 API 函数----->一些库函数,用到的时候调用,基本上不会碰到
cmd 执行一些命令的.c文件
commom 公用的一些代码库
examples 例程代码
disk 磁盘代码,现在这年代都不用磁盘了
fs 文件系统代码
lib 库文件供调用
licenses 权限代码
net 网络协议栈库
post 不重要
test 不重要
三:文档
doc
四:工具
scripts:脚本工具,
tools 或者一些开发工具链
顶层文件:
.u-boot.xxx_cmd 这个是编译生成的,是一些开发过程中用到的工具指令,
例如烧写程序
如果我们要用 NXP 提供的 MFGTools 工具向开发板烧写 uboot,此时烧写的是 u-boot.imx
文件,而不是 u-boot.bin 文件。u-boot.imx 是在 u-boot.bin 文件的头部添加了 IVT、DCD 等信息。
这个工作是由文件.u-boot.imx.cmd 来完成的
.gitignore git相关插件
.mailmap 文件相关程序的内存映射表
config.mk 某个 Makefile 会调用此文件
Kbuild 用于生成一些和汇编有关的文件。
Kconfig 图形配置界面描述文件。
MAKEALL 一个 shell 脚本文件,帮助编译uboot 的
Makefile 顶层makefile 主编译,最重要的文件
README UBOOT使用帮助文档,这个很重要,建议多熟悉
System.map 系统代码映射表