IMX6ULL移植篇-uboot源码主要目录说明一

一.  uboot 源码分析前提

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

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

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

IMX6ULL移植篇-uboot源码目录表_凌肖战的博客-CSDN博客


 

 二.  uboot 源码主要目录说明

  编译后的 uboot 源码目录如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/alientek_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        examples                  load.imx         tools
arch       fs                        MAINTAINERS      u-boot
board      imx6ull_alientek_nand.sh  MAKEALL          u-boot.bin
cmd        imxdownload               Makefile         u-boot.cfg
common     imxdownload.c             net              uboot.code-workspace
config.mk  imxdownload.h             post             u-boot.imx
configs    include                   README           u-boot.lds
disk       Kbuild                    scripts          u-boot.map
doc        Kconfig                   snapshot.commit  u-boot-nodtb.bin
drivers    lib                       System.map       u-boot.srec
dts        Licenses                  test             u-boot.sym

下面说明几个常见的目录或文件。

1.   arch 文件夹

这个文件夹里面存放着和架构有关的文件。

I.MX6ULL 使用的 Cortex-A7 内核,Cortex-A7 属于 armv7,所以我们要关心 “armv7” 这个文件夹。

arch/arm/cpu/目录下的 u-boot.lds 就是整个 uboot 的链接脚本,即ARM 芯片所使用的 u-boot 链接脚本文件!

uboot的根目录下也有 u-boot.lds文件,这两个文件是一样的。根目录下的u-boot.lds文件是由 “arch/arm/cpu” 目录下的 u-boot.lds生成的

2.    board 文件夹

board 文件夹就是和具体的板子有关的,使用的 I.MX 系列以前属于 freescale,只是 freescale 后来被 NXP 收购了。

所以,我们可以找到名为 “freescale” 的文件夹。在里面找到和 mx6u(I.MX6UL/ULL)有 关的文件夹。

如下图所示:

drwxrwxr-x 2 wangtian wangtian 4096 5月  25  2019 mx6ul_14x14_ddr3_arm2
drwxrwxr-x 2 wangtian wangtian 4096 9月   6 16:44 mx6ull_alientek_emmc
drwxrwxr-x 2 wangtian wangtian 4096 9月   6 17:22 mx6ull_alientek_nand
drwxrwxr-x 2 wangtian wangtian 4096 5月  25  2019 mx6ull_ddr3_arm2
drwxrwxr-x 2 wangtian wangtian 4096 1月   2  2020 mx6ullevk

这 5 个文件夹对应 5 种板子,以“mx6ul”开头的表示使用 I.MX6UL 芯片的板子,以 mx6ull 开头的表示使用 I.MX6ULL 芯片的板子。

mx6ullevk 是 NXP 官方的I.MX6ULL开发板,正点原子的ALPHA开发板就是在这个基础上开发的,这里本人推测出 mx6ull_alientek_nand文件可能是 nand-flash版的 IMX6ULL开发板使用的文件。

3.  configs 文件夹

uboot 是此文件夹为 uboot 的默认配置文件目录,uboot 是可配置的。 一般半导体或者开发板厂商都会制作好一个配置文件。
配置文件统一命名为“ xxx_defconfig ”, xxx 表示开发板名字。这些配置文件对应不同的板子。
NXP 官方开发板和正点原子的开发板配置文件肯定也在这个文件夹中。 正点原子的 阿尔法开发板对应的 如下所示:
mx6ull_14x14_ddr3_arm2_defconfig
mx6ull_14x14_ddr3_arm2_emmc_defconfig
mx6ull_14x14_ddr3_arm2_epdc_defconfig
mx6ull_14x14_ddr3_arm2_nand_defconfig
mx6ull_14x14_ddr3_arm2_qspi1_defconfig
mx6ull_14x14_ddr3_arm2_spinor_defconfig
mx6ull_14x14_ddr3_arm2_tsc_defconfig
mx6ull_alientek_emmc_defconfig
mx6ull_alientek_nand_defconfig

因为正点原子教学视频中与本人现在的 uboot文件存在偏差(可能因为现在正点原子阿尔法开发板多了新的)。所以,我这里猜测,我这里所用的 nand-flash版的阿尔法开发板可能是 mx6ull_alientek_nand_defconfig 配置文件。
输入如下命令即可配置 uboot
make mx6ull_14x14_ddr512_emmc_defconfig
注意:在编译 uboot 之前一定要使用 defconfig 来配置 uboot
之前在编译 uboot时,就配置了 uboot。这里就使用到了 /configs 目录下的胖配置文件 mx6ull_alientek_nand_defconfig。配置命令如下:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_nand_defconfig

下一篇继续说明 uboot的主要的一些目录或文件作用。

你可能感兴趣的:(嵌入式C开发,Linux系统相关,linux,arm开发)