U-Boot2010.12版本的源码顶层目录说明:
目 录 | 特 性 | 解 释 说 明 |
board | 平台依赖 | 存放发板相关的目录文件,如RPXlite(mpc8xx)、smdk2410(arm920t)、sc520_cdp(x86) 等目录 |
arch | 构架相关 | 存放了各种芯片构架相关的文件 |
api | 通用 | 存放U-Boot提供的接口函数 |
common | 通用 | 通用的代码,涵盖各个方面,以命令行处理为主 |
disk | 通用 | 磁盘分区相关代码 |
lib | 通用 | 存放u-boot源码中使用到的库函数 |
nand_spl | 通用 | NAND存储器启动相关代码 |
include | 通用 | 头文件和开发板配置文件,所有开发板的配置文件都在configs目录下 |
common | 通用 | 通用的多功能函数实现 |
net | 通用 | 存放网络相关程序 |
fs | 通用 | 存放文件系统相关程序 |
post | 通用 | 存放上电自检程序 |
drivers | 通用 | 通用的设备驱动程序,主要有以太网接口的驱动 |
disk | 通用 | 硬盘接口程序 |
examples | 应用例程 | 一些独立运行的应用程序的例子,如helloworld |
tools | 工具 | 存放制作S-Record或者U-Boot格式的镜像等工具,如mkimage |
doc | 文档 | 开发使用文档 |
重点关注的文件:
目录 | 说明 |
arch/arm/arch/arm/cpu/芯片子构架/ | 这个目录顶层的文件,汇编文件是构架级相关文件。 |
arch/arm/arch/arm/cpu/芯片子构架/芯片具体系列名/ | 这个目录存放是具体芯片型号相关的代码。 |
arch/arm/include/asm/xxxxx.h | arm架构公共头文件 |
arch/arm/include/asm/arch-芯片构架名/ | 子架构公共头文件 |
arch/arm/include/asm/arch-芯片系列名/ | 芯片系列公共头文件 |
board/芯片厂家名/开发板名/ | 板级相关的文件,每个开发板一个文件夹。 |
include/configs/开发板名.h | 板级配置头文件,一个开发板有一个同名头文件。 |
boards.cfg | 这个在高版本的u-boot中用来存放各个开发板的基本配置信息,在低版本中这些配置是写在顶层Makefile中。 |
其他:
命令存放:common
外设驱动:drivers
外设驱动头文件:include
U-Boot的源码是通过gcc和Makefile组织编译的。顶层目录下的Makefile可以通过包含
boards.cfg来设置开发板的定义,然后递归地调用各级子目录下的Makefile,最后把编
译过的程序链接成U-Boot映像。
imx6 uboot移植介绍:
https://www.nxp.com.cn/docs/en/user-guide/i.MX_BSP_Porting_Guide_Linux.pdf