正点原子Linux系统移植开发学习笔记02U-Boot 工程目录分析

一,U-Boot 工程目录分析

1 arch 文件夹

        这个文件夹里面存放着和架构有关的文件比如 armavr32、m68k 等。我们现在用的是 ARM 芯片,所以只需要关心 arm 文件夹即可。
        在arm 文件夹中“cpu”这个文件夹也是和 cpu 架 构有关的。

         mach-xxx 的文件夹 mach 开头的文件夹是跟具的设备有关的,比如“mach-exynos ”就是跟三星的 exyons 系列 CPU 有关的文件。我们使用的 是 I.MX6ULL ,所以要关注“ imx-common ”这个文件夹。
2 board 文件夹
        board 文件夹就是和具体的板子有关的,打开此文件夹,里面全是不同的板子。borad 文件夹里面有个名为 “freescale”的文件夹,在里面找到和 mx6u(I.MX6UL/ULL)有关的文件夹。
3 configs 文件夹
        此文件夹为 uboot 配置文件, uboot 是可配置的。配置文件统一命名为“xxx_defconfig”,xxx 表示开发板名字,这些 defconfig 文件都存放在 configs文件夹。
        使用 “make xxx_defconfig”命令即可配置 uboot。
make mx6ull_14x14_ddr512_emmc_defconfig
        上述命令就是配置正点原子的 I.MX6ULL EMMC 核心板所使用的 uboot
4 .u-boot.xxx_cmd 文件
        .u-boot.xxx_cmd 是一系列的文件,这些文件都是编译生成的,都是一些命令文件,比如文
.u-boot.bin.cmd ,看名字应该是和 u-boot.bin 有关的。
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-nodtb.bin 文件,并且重命名为 u-boot.bin ,这个就是 u-boot.bin 的来源,来自于文件 u-boot-nodtb.bin
        文件 .u-boot-nodtb.bin.cmd 就是用于生成 uboot.nodtb.bin 的。
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-bootnodtb.bin

5 Makefile 文件
        uboot 源码根目录下的 Makefile 是顶层 Makefile ,他会调用其它的模块的 Makefile 文件,
比如 drivers/adc/Makefile
6 u-boot.xxx 文件
        u-boot.xxx 同样也是一系列文件,包括 u-boot u-boot.bin u-boot.cfg 、u-boot.imx、u
-boot.lds
        u-boot.map、 u-boot.srec u-boot.sym u-boot-nodtb.bin ,这些文件的含义如下:
        u-boot:编译出来的 ELF 格式的 uboot 镜像文件。
        u-boot.bin:编译出来的二进制格式的 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 的复制文件。
7 .config 文件
        uboot 配置文件,使用命令“ make xxx_defconfig ”配置 uboot 以后就会自动生成看出.
        config 文件中都是以“CONFIG_”开始的配置项,这些配置项就是 Makefile 中的变量,因此后面都跟有相应的值,uboot 的顶层 Makefile 或子 Makefile 会调用这些变量值。在.config 中会有大量的变量值为‘y’,这些为‘y’的变量一般用于控制某项功能是否使能,为‘y’的话就表示功能使能。
8 README
        README 文件描述了 uboot 的详细信息,包括 uboot 该如何编译、 uboot 中各文件夹的含
义、相应的命令等等。建议大家详细的阅读此文件,可以进一步增加对 uboot 的认识。
  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值