【Linux系统移植】NXP 官方开发板 uboot 编译与烧录

1、下载NXP 官方 I.MX6ULL EVK 开发板的uboot :uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2

2、使用 FileZilla Client 将 uboot拷贝到ubuntu

3、解压

tar -xjvf uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2

解压出来的文件:

4、编译uboot

方法一:直接命令编译

(1)配置

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig

(2)编译 

make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12

(3)编译完成 

【Linux系统移植】NXP 官方开发板 uboot 编译与烧录_第1张图片

(4)编译后的文件

【Linux系统移植】NXP 官方开发板 uboot 编译与烧录_第2张图片

 

方法二:修改顶层Makefile,ARCH CROSS_COMPILE 赋值

(1)vim编辑器打开Makefile,输入 248+ 跳转到248行,添加以下内容。

vim Makefile
ARCH  ?= arm 
CROSS_COMPILE ?= arm-linux-gnueabihf-

 

【Linux系统移植】NXP 官方开发板 uboot 编译与烧录_第3张图片

(2)使用以下命令清除和编译

make distclean
make mx6ull_14x14_evk_emmc_defconfig
make V=1 -j12

 

方法三:使用 shell 脚本编译
(1)新建mx6ull_iot_emmc.sh 的 shell 脚本文件

vim mx6ull_iot_emmc.sh

(2)写入以下内容。shell 脚本要求第一行必须是“#!/bin/bash”或者“#!/bin/sh”。

#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12

(2)给脚本文件可执行权限

chmod 777 mx6ull_iot_emmc.sh

(3)执行脚本文件

./mx6ull_iot_emmc.sh


编译遇到的错误:

cc1: error: bad value (armv5) for -march= switch
Makefile:927: recipe for target 'u-boot.cfg' failed
make: *** [u-boot.cfg] Error 1

【Linux系统移植】NXP 官方开发板 uboot 编译与烧录_第4张图片

解决:看是否赋值时写错了字母
 

5、使用SD卡烧录

启动后串口终端输出:

【Linux系统移植】NXP 官方开发板 uboot 编译与烧录_第5张图片

 

 

你可能感兴趣的:(#,Linux学习之路)