IMX6ULL移植篇-uboot源码主要文件说明

一.  uboot 源码分析前提

由于 uboot 会使用到一些经过编译才会生成的文件,因此,我们在分析 uboot的时候,需要先编译一下 uboot 源码工程。

这里所用的开发板是 nand-flash 版本。

本文学习续上一篇文章,如下:

IMX6ULL移植篇-uboot源码主要目录说明_凌肖战的博客-CSDN博客

二.  uboot 源码主要文件说明

1.  .config 文件

当我们执行make xxx_defconfig以后就会生成 .config文件,此文件保存了详细的 uboot 配置信息。

可以看出 .config 文件中都是以 CONFIG_ 开始的配置项,这些配置项就是 Makefile 中的
变量,因此后面都跟有相应的值, uboot 的顶层 Makefile 或子 Makefile 会调用这些变量值。
.config文件 中会有大量的变量值为‘y ’,这些为‘y ’的变量一般用于控制某项功能是否使能,为
y ’的话就表示功能使能。

2. .u-boot.xxx_cmd 文件

u-boot.xxx_cmd 是一系列的文件,这些文件都是编译生成的,都是一些命令文件。

都是一些命令文件,比如文件 .u-boot.bin.cmd ,看名字应该是和 u-boot.bin 有关的。

例如,.u-boot.bin.cmd文件内容如下:
cmd_u-boot.bin := cp u-boot-nodtb.bin u-boot.bin
.u-boot.bin.cmd 里面定义了一个变量: cmd_u-boot.bin ,其值为“ cp u-boot-nodtb.bin u-boot.bin ”,即 重命名为 u-boot.bin 。也就是说 u-boot.bin 来源于文件 u-boot-nodtb.bin

文 件 .u-boot-nodtb.bin.cmd 就 是 用 于 生 成 uboot.nodtb.bin 。而 .u-boot-nodtb.bin.cmd文件内如下:
cmd_u-boot-nodtb.bin := arm-linux-gnueabihf-objcopy --gap-fill=0xff  -j .text -j .secure_text -j .rodata -j .hash -j .data -j .got -j .got.plt -j .u_boot_list -j .rel.dyn -O binary  u-boot u-boot-nodtb.bin
这里用到了 arm-linux-gnueabihf-objcopy ,使用 objcopy ELF 格式的 u-boot 文件转换为二
进制的 u-boot-nodtb.bin 文件。 以此类推。

3.  Makefile 文件

uboot 源码根目录下的 Makefile 是顶层 Makefile。 Makefile 是支持嵌套的,也就是顶层 Makefile 可以调用子目录 中的 Makefile 文件。如下就是 顶层 Makefile 文件:

4.  顶层 README 文件 

顶层README,非常重要。建议大家阅读!!!

README 文件描述了 uboot 的详细信息,包括 uboot 该如何编译、uboot 中各文件夹的含义、相应的命令等等。建议大家详细的阅读此文件,可以进一步增加对 uboot 的认识。

5. u-boot.xxx 文件

u-boot.xxx 同样也是一系列文件,是 uboot 编译后生成的一系列文件。
这些文件的含义如下:
u-boot :编译出来的 ELF 格式的 uboot 镜像文件。
u-boot.bin :编译出来的二进制格式的 uboot 可执行镜像文件,即编译出来带ELF信息的 uboot可执行文件。
u-boot.cfg uboot 的另外一种配置文件。
u-boot.imx u-boot.bin 添加头部信息以后的文件, NXP CPU 专用文件。
u-boot.lds :链接脚本。
u-boot.map uboot 映射文件,通过查看此文件可以知道某个函数被链接到了哪个地址上。
u-boot.srec S-Record 格式的镜像文件。
u-boot.sym uboot 符号文件。
u-boot-nodtb.bin :和 u-boot.bin 一样, u-boot.bin 就是 u-boot-nodtb.bin 的复制文件。

6.  System.map 文件

System.map 文件是内存映射表。编译 uboot后生成的文件。

7.  Kconfig 文件

Kconfig 文件 与图形界面有关的。uboot可以通过图形界面来配置。

8.  imx6ull_alientek_nand.sh

imx6ull_alientek_nand.sh文件,是之前我们编译 uboot 时,我们自己自定义创建的配置脚本文件。作用就是配置并编译 uboot 源码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值