NXP的uboot编译\烧写体验

配置:IMX6ULL+eMMC(8G)+sd卡(16G)

平台:ubantu20/22

第一步:恩智浦官方原版的uboot,放到ubantu文件夹里

 第二步:输入下面代码解压它, 解压完成有一个新的文件夹

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

 第三步:名字修改成自己容易理解的,输入下面代码

mv uboot-imx-rel_imx_4.1.15_2.1.0_ga uboot_myuboot4.1

 第四步:进入该文件夹, 清理一下这个工程,输入下面代码

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

第五步:配置工程,输入下面代码,过程可能会有警告,不用理会

                看到有“configuration written to .config” 即可

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

NXP的uboot编译\烧写体验_第1张图片

第六步:编译工程,输入下面代码

                编译之后查看有需要用的u-boot.imx 和下面的u-boot.bin

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

NXP的uboot编译\烧写体验_第2张图片

第七步:每次编译都需要输入较长的命令就比较麻烦,下面创建一个shell脚本

                创建一个xx.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- -j16

第八步: 需要给这个shell脚本可执行权限

                执行一下能编译成功就说明shell没问题

chmod 777 mx6ull_nxp_emmc.sh

 第九步:因为每次shell脚本编译默认都会清理脚本,而且手动输入命令过长,

                下面修改一下顶层Makefile

                在249-250行里面输入下面代码,保存退出

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

第十步:测试一下清理工程,输入下面代码

make distclean

NXP的uboot编译\烧写体验_第3张图片

第十一步:测试配置、编译,输入下面代码,

编译好说明修改顶层Makefile没问题,而且代码也简短了

make mx6ull_14x14_evk_emmc_defconfig
make V=1 -j16

NXP的uboot编译\烧写体验_第4张图片

 第十二步:编译成功没问题就可以烧写到SD卡里面,先格式化一下SD卡

                        这里使用SDFormatter(内存卡修复工具)

NXP的uboot编译\烧写体验_第5张图片

NXP的uboot编译\烧写体验_第6张图片

第十三步:这里使用的烧写工具是开发板厂家提供的,把烧写工具放进uboot目录下

NXP的uboot编译\烧写体验_第7张图片

第十四步: 插上usb,连接到ubantu,连接上usbuban会有提示,也会显示u盘标志

                        查看自己sd卡分区,别烧写错地方,这里烧写地址为sdb(不是sdb1哦)

                        如果不确定,可以重新拔插usb,拔出看那个消失sd,就应该是sd地址

ls /dev/sd*

NXP的uboot编译\烧写体验_第8张图片

NXP的uboot编译\烧写体验_第9张图片

第十五步:设置烧写文件权限

chmod 777 imxdownload

第十六步:烧写进sd 卡里(不是带数字的sdb1哦)

./imxdownload u-boot.bin /dev/sdb

NXP的uboot编译\烧写体验_第10张图片

 第十七步:把sd卡插上开发板,开发板设置从sd卡启动

                        插上串口线,上电,用SecureCRT 接收如下图

                     可以看到烧写的时间是刚刚,说明烧写uboot成功

NXP的uboot编译\烧写体验_第11张图片

第十八步:检查SD 卡和 EMMC 驱动是否正常

mmc list
mmc dev 0
mmc dev 1
mmc info

NXP的uboot编译\烧写体验_第12张图片

NXP的uboot编译\烧写体验_第13张图片

可以看到0代表sd卡,1为eMMC,容量对应为15GiB和7.3GiB,与实际相符合,说明驱动正常。

你可能感兴趣的:(#,linux,ubuntu)