U-BOOT分析(一)之目录结构

U-BOOT分析(一)之目录结构

U-BOOT版本

u-boot-2021.01.tar.bz2uboot解压后文件夹

类型名字功能描述
文件夹api硬件无关的功能函数的API,是uboot本身使用的
文件夹arch各种CPU架构平台例如:arm .mips. powerpc. x86. riscv .etc.
文件夹board已经支持的开发板相关文件,板级相关配置文件,针对不同平台的功能下具体的实现
文件夹cmd实现uboot命令行下支持的命令,每一条命令都对应一个文件。例如bootm命令对应就是bootm.c 而xxx命令,对应do_xxx函数 cmd_process最终会调用cmd_tbl_s结构体中的成员变量cmd函数指针,比如执行xxx命令,最终是会调用你do_xxx函数 uboot源码的cmd文件夹下xxx.c文件对应的是xxx命令
文件夹common通用启动相关初始化文件,board.r board_init_f的实现common/main.c是整个u-boot程序的主函数,主要负责运行维护uboot的shell命令行,这个文件夹以前是cmd的合集,后边版本变动了,具体功能还在研究
文件夹configs各个板卡平台的默认配置文件 make 的时候可以编译使用默认配置比如 make xxx_defconfig 就设置了按照默认配置编译
文件夹disk与磁盘有关的文件
文件夹doc文档目录,里面存放了很多uboot相关文档,这些文档可以帮助理解uboot代码。
文件夹drivers板级的驱动。这里面放的就是从linux源代码中移植过来的linux设备驱动,主要是开发板上必须用到的一些驱动,如网卡驱动、Inand/SD卡、NandFlash等的驱动。要知道:uboot中的驱动其实就是linux中的驱动,uboot在一定程度上移植了linux的驱动给自己用。但是linux是操作系统而uboot只是个裸机程序,因此这种移植会有不同,实际上uboot中的驱动其实是linux中的驱动的一部分。同样的uboot中的驱动也支持设备树
文件夹dts存放不同开发板的设备树源码文件,目前该目录为空,只有Makefile 和Kconfig
文件夹env环境相关nand mmc onenand 等的文件
文件夹examplesuboot示例代码
文件夹fs文件系统相关,linux系统移植而来的
文件夹include头文件目录。uboot和linux kernel在管理头文件时都采用了同一个思路,就是把所有的头文件全部集中存放在include目录下,而不是头文件跟着自己对应的c文件。所以在uboot中头文件包含时路径结构要在这里去找
文件夹lib各类算法库的实现,比如crc,aes bzip系列,这类文件夹中的内容移植时基本不用管
文件夹Licenses开源协议(BSD, GPL, LGPL,MIT)许可证书,uboot使用的开源许可协议
文件夹net网络相关的代码,譬如uboot中的tftp nfs ping命令 都是在这里实现的
文件夹post有些需要上电自检程序放在这里
文件夹scripts常用脚本
文件夹test测试程序
文件夹tools里面是一些工具类的代码。譬如mkimage
文件Makefileuboot的顶层makefile ,后边文章会重点分析
文件config.mk某个Makefile会调用此配置文件,用来处理一些编译过程中的环境变量。Linux Kernel 没有这个文件,U-Boot 需要使用它
文件Kconfig这个文件是 Kconfig 系统的菜单项,当我们使用命令:make menuconfig 时,Kconfig 系统读取该文件,根据该文件的内容生成各级菜单。U-Boot 源码根目录下的 Kconfig 就是顶级的配置菜单,其中会在引入其他目录下的 Kconfig 作为二级菜单,依次类推
文件Kbuild是 Kbuild 系统使用的文件,该文件用于定义一些源码使用的需要根据编译环境产生的中间文件。
---------------------------------------------------------------------------------------
编译出的文件u-boot编译出的ELF格式的uboot镜像文件
编译出的文件u-boot.bin编译出来的二进制格式的uboot可执行镜像文件
编译出的文件u-boot.cfguboot的另一种配置文件
编译出的文件u-boot.lds链接脚本
编译出的文件u-boot.mapuboot映射文件
编译出的文件u-boot-nodtb.bin和u-boot.bin一样,u-boot-nodtb.bin的复制文件
编译出的文件u-boot.srecS-Record格式的镜像文件
编译出的文件u-boot.symuboot符号文件

下一篇将介绍u-boot顶层Makefile文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值