野火RK3588 Uboot文件夹目录结构

1.1野火RK3588 Uboot文件夹

在这里插入图片描述

(1)api:硬件无关的功能函数的API。uboot移植时基本不用管,这些函数是uboot本身使用的。
(2)arch:在 U-Boot 中,arch 文件夹包含了针对不同体系结构(architecture)的特定代码和实现。这个目录是按照处理器体系结构和架构来组织的,以支持多种不同类型的处理器和硬件。一般来说,arch 文件夹下会有多个子文件夹,每个子文件夹对应一个特定的处理器架构或者体系结构,比如:arch/arm:ARM 架构相关的代码。arch/x86:x86 架构(如 Intel 或 AMD 处理器)相关的代码。arch/mips:MIPS 架构相关的代码。arch/powerpc:PowerPC 架构相关的代码。等等。
(3)board:board是板的意思,板就是开发板。board文件夹下每一个文件都代表一个开发板,这个文件夹下面放的文件就是用来描述这一个开发板的信息的。标准的uboot支持的开发板特别多,该目录下大致是按照Soc产商进行分类的,同一款Soc的开发板放在一个目录下。如果在对应厂商的目录下没有找到该开发板,可以尝试直接在board目录下查找,因为按Soc厂商分类是后来才采用的,为了向前兼容,之前直接放在board目录下的开发板文件夹是没有动的。
(4)cmd:用来实现uboot的命令系统的
(5)common:common是普遍的普通的,这个文件夹下放的是一些与具体硬件无关的普遍适用的一些代码。譬如控制台实现、crc校验的
(6)configs:rockchip公司的相关芯片配置文件
(7)disk:磁盘有关的,没研究过,没用过。
(8)doc:文档目录,里面存放了很多uboot相关文档,这些文档可以帮助我们理解uboot代码。但是因为是纯英文的,而且很杂乱,所以几乎没用。
(9)Documentation:放了phy和rtc dts配置示例,不全,没啥用
(10)drivers:顾名思义,驱动。这里面放的就是从linux源代码中扣出来的原封不动的linux设备驱动,主要是开发板上必须用到的一些驱动,如网卡驱动、Inand/SD卡、NandFlash等的驱动。要知道:uboot中的驱动其实就是linux中的驱动,uboot在一定程度上移植了linux的驱动给自己用。但是linux是操作系统而uboot只是个裸机程序,因此这种移植会有不同,uboot中的驱动其实是linux中的驱动的一部分。
(11)dtoverlay:dtoverlay 是 Raspberry Pi 上的一种机制,允许用户加载和配置 Device Tree(设备树)的覆盖(overlay)。设备树是一种描述硬件组件和连接的数据结构,它允许在不修改内核的情况下动态地描述和配置硬件。
(12)dts:设备树配置文件
(13)env:是用来实现环境变量的
(14)examples:示例代码。
(15)fs:filesystem,文件系统。这个也是从linux源代码中移植过来的,用来管理Flash等资源。
(16)include:头文件目录。uboot和linux kernel在管理头文件时都采用了同一个思路,就是把所有的头文件全部集中存放在include目录下,而不是头文件跟着自己对应的c文件。所以在uboot中头文件包含时路径结构要在这里去找。
(17)lib:(典型的lib_arm和lib_generic)架构相关的库文件。譬如lib_arm里面就是arm架构使用的一些库文件。lib_generic里是所有架构通用的库文件。这类文件夹中的内容移植时基本不用管。
(18)Licenses:开源协议
(19)net:网络相关的代码,譬如uboot中的tftp nfs ping命令 都是在这里实现的。
(20)post:包含了与硬件自检(Power On Self Test,POST)相关的代码。这些代码用于执行启动时的自检程序,检查系统硬件是否正常运行。
(21)scripts:包含了一些用于配置、构建或执行 U-Boot 的脚本文件。这些脚本文件用于不同的目的,比如配置引导选项、自动化构建过程、生成镜像文件等。
(22)test:包含用于测试和验证 U-Boot 功能的测试代码和脚本。
(23)tools:里面是一些工具类的代码。譬如mkimage。

1.2文件

在这里插入图片描述

(1)checkpatch.conf:检查代码是否符合项目内部的编码规范。
(2)gitignore:git工具的文件,git是一个版本管理工具(类似的还有个svn),这个文件和git有关,和uboot本身无关的,不用去管。
(3)mailmap:维护人员联系方式
(4)travis.yml:安装编译依赖
(5)config.mk:后缀是.mk,是一个Makefile文件,将来在某个Makefile中会去调用它。
(6)Kbuild:生成generic-asm-offsets.h和asm-offsets.h,后面在其他位置有需要。
(7)MAINTAINERS:维护者,就是当前在参与维护uboot源码的社区工作者。
(8)make.sh:uboot项目编译脚本。
(9)Makefile:这个很重要,是uboot源代码的主Makefile,将来整个uboot被编译时就是用这个Makefile管理编译的,所以我们在下个课程中研究uboot配置编译过程时就要分析这个Makefile。
(10)PREUPLOAD.cfg:打开chechpatch
(11)README:
(12)snapshot.commit:
(13)usb_update.txt:使用usbupdate时echo "this is usb update script!"
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值