从http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/refs/heads下载uboot-imx-imx_v2015.04_3.14.38_6ul_ga源码,文件不大,压缩文件只有9.2M。这里以编译mx6ul_14x14_evk为例—
1.解压文件
tar jxvf uboot-imx-imx_v2015.04_3.14.38_6ul_ga.tar.bz2
得到uboot-imx-imx_v2015.04_3.14.38_6ul_ga文件夹,进入文件查看源码结构:
- 源码中 mx6ul_14x14_evk相关文件,在进行Uboot的移植时也主要涉及到这几个文件
在 board/freescale/mx6ul_14x14_evk文件加下有如下文件
mx6ul_14x14_evk.c文件中有相关硬件的初始化;
镜像配置文件imximage.cfg, mkimage工具利用此配置文件最后生成imx格式的 boot image;
Kconfig,开发板信息;
include/configs/mx6ul_14x14_evk.h 开发板配置文件
configs/mx6ul_14x14_evk_defconfig 编译配置文件
- 编译
写一个编译脚本 build_u_boot.sh,
#!/bin/bash
export ARCH=arm
export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-
make distclean
make mx6ul_14x14_evk_defconfig
make
执行脚本文件 ./build_u_boot.sh,最后编译生成u-boot.bin u-boot.imx.
4.镜像u-boot.imx可以写到SD卡,启动 系统
SD卡挂载在 media/BOOT 下,u-boot.imx写到SD卡1K地址处
dd if=u-boot.imx of=/media/BOOT/u-boot.imx bs=1k seek=1 conv=fsync