本帖最后由 风精灵 于 2025-6-26 13:55 编辑
一、Uboot简介
1.BootLoder BootLoder是什么,从名字上来看,BootLoder由boot和loader两部分组成,这也是它的主要的两个功能。boot主要是指初始化一些系统的硬件并建立内存映射图,为内核的运行创建一个合适的环境,loader就是指将内核从存储介质(启动介质)中加载到内存RAM中,然后跳转到内核所在内存地址运行内核。总之,BootLoder是内核启动之前为内核搭建软硬件环境的一段程序。BootLoder是不同平台或项目的启动加载程序的统称,不单指某一个程序,比如,常见的BootLoder有,Redboot,Armboot,U-Boot等。
2.U-Boot版本可以在u-boot目录下的Makefile文件中查看版本号。 同时也可以在开发板启动时,通过debug口的信息查看。
二、Uboot目录结构介绍SDK源码解压后,uboot源码在u-boot目录下:
进入u-boot目录,使用ls命令查看uboot源码目录: elf@ubuntu:~/work/ELF2-linux-source/u-boot$ ls 1.目录说明 api:存放uboot提供的功能函数接口。 arch:系统架构相关的代码,这里每一个文件夹名都代表着一种处理器类型,我们关心的是arm,在arch/arm/cpu/armv8里面存在着重要的与uboot启动相关的.S文件。 board:存放着根据不同开发板定制的板级代码 common: 一些与具体硬件无关的通用代码 cmd:以uboot命令行处理代码为主 disk :磁盘分区相关代码 doc:里面存放了很多uboot相关文档,这些文档可以帮助我们理解和使用uboot drivers : 驱动代码 examples:示例程序 fs:文件系统,支持嵌入式开发板常见的文件系统 include:头文件,以通用的头文件为主 lib:通用库文件 net:网络相关代码 post: 加电自检程序 tools:辅助程序,用于编译和检查uboot目标文件
2.文件说明 Makefile:一个致力于工程编译的文件,将来整个uboot编译的时候就是用这个Makefile来编译管理的 Kconfig:用于生成内核配置界面的的文件 Kbuild:跟Makefile文件配合编译uboot,它对Makefile进行了功能上的扩充,使其在编译uboot文件时更加高效简介 config.mk:为一个Makefile文件,被主Makefile调用。 MAINTAINERS:维护者,就是当前在参与维护uboot源码的社区工作者。 README:源码说明文件
|