IMX6ULL系统移植篇-uboot的配置与编译

一.  编译 uboot简介

开发板的资源 :256MB(DDR3)+ 512MB(NAND)核心板

这里使用的是阿尔法开发板,256MB的 DDR,核心板是 512MB的 Nand-Flash。

二.   编译 uboot

创建 /uboot/alientek_uboot 目录文件,将正点原子提供的 uboot源码包拷贝到 /uboot/alientek_uboot  文件夹下。

正点原子提供了两份 uboot源码包:正点原子Uboot和Linux出厂源码 与 开发板教程对应的uboot和linux源码

这两份源码包的区别是:开发板教程对应的uboot和linux源码是正点原子驱动指南做驱动实验、移植uboot和linux所用的源码。而出厂 uboot源码则是用于出货所使用,客户无需再调试。直接编译使用!

扫描二维码关注公众号,回复: 15907936 查看本文章

这里把 出厂uboot源码拷贝到 /uboot/alientek_uboot  文件夹下,再加压缩。输入如下命令解压缩:

tar -xvf uboot-imx-2016.03-2.1.0-gee88051-v1.6.tar.bz2

1.  uboot 配置与编译

在编译 uboot 源码之前,需要对 uboot进行配置。

这里所用的开发板的资源为 256MB(DDR3)+ 512MB(NAND)核心板

配置 uboot有三种方法:

(1)  方法一:直接在 Linux控制台终端输入命令进行配置。

进入 uboot源码目录,Linux控制台终端输入三条命令,如下:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean  
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr256_nand_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

第一行命令:清除配置

第二行命令 : 配置uboot

第三行命令:  编译uboot命令

(2)  方法二:编写一个 shell脚本文件进行配置。

将上述三行命令编写进脚本文件。例如,创建脚本文件为 imx6ull_uboot.sh

#!/bin/bash

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr256_nand_defconfig 
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

配置编译 uboot源码,可以直接运行这个脚本文件。前提还需要提供 脚本文件的执行权限。如下更改权限:

chmod 777 imx6ull_uboot.sh

(3)  方法三:直接更改 uboot源码的顶层目录的 Makefile文件,进行配置。

注意:直接更改 Makefile文件的内容的前提是,已经对 uboot进行了配置(即已经生成了 .config配置文件)。

首先,Linux 终端输入命令,清除配置:

make distclean

其次,输入如下命令,进行 uboot源码配置:

make mx6ull_14x14_ddr256_nand_defconfig 

然后,更改 Makefile 文件内容,打开 uboot根目录下的 Makefile文件,添加代码如下:

可以选择以上三种方法中任意一种方法,对 uboot源码进行配置编译。

编译成功后,会在 uboot源码根目录生成 u-boot.bin文件 与 u-boot.imx文件

u-boot.bin 与 u-boot.imx的区别:

u-boot.bin 就是编译出来的 uboot的二进制文件。uboot是个裸机程序,因此需要在其前面加上头部(IVT、DCD等数据)才能在I.MX6U 上执行。

u-boot.imx 就是我们最终要烧写到开发板中的 uboot 镜像文件。

猜你喜欢

转载自blog.csdn.net/wojiaxiaohuang2014/article/details/131442696