正点原子ALPHA_Uboot移植启动注意事项
①:拷贝原子自带的uboot的官方例程:uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2
解压:tar -vxjf uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2
解压后得到uboot-imx-rel_imx_4.1.15_2.1.0_ga文件
②:编译uboot,分为清除工程、配置文件、编译,写成shell脚本如下:
#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
执行./mx6ull_alientek_emmc.sh 编译所有的工程
然后使用U盘将编译生成的uboot.bin文件拷贝SD卡插入开发板运行。(有时觉得运行的程序和自己所想的不一样的时候,可以将SD格式化,因为遇到过拷贝成功程序没有改变的情况)
检查插入SD卡设备名称ls /dev/sd*,拷贝./imxdownload u-boot.bin /dev/sdb(根据实际设备名)
③:启动uboot,我们可以看一些打印信息,来判断板子外设初始化情况和uboot的编译时间:
移植完以后正常显示:
接下来会用到的网络命令:
不容易记住的是nfs,命令格式nfs [loadAddress] [[hostIPaddr:]bootfilename]
例子:nfs 80800000 192.168.1.250:/home/zuozhongkai/linux/nfs/zImage
要使用nfs命令前提需要将Ubuntu的nfs和开发板的设备IP和服务端(Ubuntu)的IP配对正确方能使用。
dhcp没怎么使用,他能自动帮你分配IP,记住这个IP不是立马设定为开发板的IP了,还是得重新下设置开发板的环境变量才能生效。记住设置完IP信息后要重启开发板!!!
tftp命令,很重要,后面下载zImage和设备树文件都是用它。也是需要配置好Ubuntu和开发板的环境,具体看开发手册。
tftp 80800000 zImage
tftp 83000000 imx6ull-alientek-emmc.dtb
bootz 80800000 – 83000000
一套行云流水启动linux的操作,所以在uboot启动linux至少需要具备以上两个文件,可以通过以下命令查看:
查看emmc存放的文件,在设置bootargs和bootcmd的时候需要用到。
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000'这个dtb文件根据开发板的LCD和使用开发板的EMMC存在的dtb文件为准。按如下的截图设置bootcmd命令应该是:
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-emmc-4.3-480x270-c.dtb; bootz 80800000 - 83000000'
fatls mmc 1:1 查看存放的设备树dtb文件
设置bootargs命令:
bootargs=console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
emmc的第一个block的第二块,存放点是ext4格式的文件操作系统,才支持rootfs,如果查询ext4ls mmc 1:2 并没有看到文件,就需要重写烧写emmc.
bootz是启动linux,一般都是bootz 80800000 - 83000000
参考:【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.4.pdf
本文地址:https://blog.csdn.net/m0_38042083/article/details/108565391
上一篇: 282. 石子合并(区间DP)
下一篇: 使用cv为批量图片自定义添加水印logo