目录
概述
本文主要介绍下载和编译正点原子提供的NXP官方imx.6ull的bootloader(非NXP官方直接下载的软件包),包括配置编译工具链,烧录至SD卡和下载到ATK-DL6Y2C板卡中。
1 下载bootloader
uboot 的全称是 Universal Boot Loader, uboot 是一个遵循 GPL 协议的开源软件, uboot 是一个裸机代码,可以看作是一个裸机综合例程。官方下载地址位:
http://www.denx.de/wiki/U-Boot/ # 文档地址
https://ftp.denx.de/pub/u-boot/ # FTP source code 下载地址
本例使用正点原子提供的NXP官方imx.6ull的u-boot(非NXP官方直接下载的软件包),其下载地址如下:
【免费】NXP官方原版Uboot和Linux资源-CSDN文库
编译器下载地址:
下载器地址:
【免费】Ubuntu下裸机烧写软件-ATK-DL6Y2C资源-CSDN文库
2 编译bootloader
2.1 解压文件
NXP官方提供的u-boot版本为:uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2,将该文件放到ubuntu上,然后解压代码。

tar -vxjf uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 -C uboot-imx
解压之后,列出文件信息:

在uboot-imx-rel_imx_4.1.15_2.1.0_ga/目录中创建build.sh文件,编译源代码。build.sh文件的内容:
#!/bin/sh
make ARCH=arm CROSS_COMPILE=/home/ctools/gcc-linaro-4.9.4-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=/home/ctools/gcc-linaro-4.9.4-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig
make ARCH=arm CROSS_COMPILE=/home/ctools/gcc-linaro-4.9.4-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- all -j16
2.2 创建编译条件
创建.sh文件,文件地址如下:
/uboot-imx-rel_imx_4.1.15_2.1.0_ga/build.sh

运行build.sh文件,即可编译u-boot代码。编译完成后,已经生成了.bin 文件

3 下载bootloader到板卡
3.1 配置下载环境
查询sd命令
sudo fdisk -l
执行命令之后

将 imxdownload 软件拷贝到 uboot 源码根目录下,然后使用 imxdownload 软件将 u-boot.bin 烧写到 SD 卡中,在u-boot的目录中看见如下文件

3.2 烧写.bin文件至SD
烧写.bin文件的方法:
./imxdownload u-boot.bin /dev/sdb
如果没有任何提示错误,说明下载数据完成。

在板卡上将启动方式调至:SD启动模式

重新上电启动系统,u-boot已经工作了

查询SD卡信息,使用命令
mmc list

查询SD的信息
mmc dev 0

查询详细信息命令:
mmc info

查询SD-1的详细信息命令:

4 总结
NXP 官方 I.MX6ULL EVK 开发板的 uboot 在ATL-DL6Y2C EMMC 版本 I.MX6ULL 开发板上的运行情况:
1)uboot 启动正常, DRAM 识别正确, SD 卡和 EMMC 驱动正常。
2)网络不能工作,识别不出来网络信息,需要修改驱动。
需要解决的问题:
在 uboot 中添加ATL-DL6Y2C EMMC - I.MX6ULL 开发板的网络驱动。