系统移植-官方Uboot编译

醉酒当歌 提交于 2020-01-27 01:06:24

资料来源:正点原子嵌入式Linux

开发板烧写:

工具:mfgtool

uboot文件:Mfgtool2-eMMC-ddr512-eMMC

 

何为Uboot?

uboot就是一个bootloader,作用就是用于启动Linux或其他系统。Uboot最主要的工作就是初始化DDR。因为Linux是运行在DDR里面的。一般Linux镜像zImage(uImage)+设备树(.dtb)存放在SD、EMMC、NAND、SPI FLASH等等外置存储区域。Uboot的主要目的就是为系统的启动做准备,将Linux镜像从外置flash拷贝到DDR中。Uboot与linux不是一一对应的,uboot还可以启动其他操作系统,linux也可以用其他bootloader启动。

 

烧写Uboot

编译指令:

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

编译完成生成u-boot.imx,将imx文件拷贝到PC,利用mfgtool烧写

u-boot.imx替换mfgtool\Profiles\Linux\OS Firmware\firmware\u-boot-imx6ull-14x14-emmc.imx文件,并且重命名和u-boot-imx6ull-14x14-emmc.imx一致。

同样替换mfgtool\Profiles\Linux\OS Firmware\files\boot\u-boot-imx6ull-14x14-ddr512-emmc,重命名。

然后点击mfgtool文件Mfgtool2-eMMC-ddr512-eMMC.vbs,开发板拨码到USB,点击Start烧写

拨码开关到EMMC启动,便可以启动了

 

为了方便编译,可以在makefile添加代码:249行

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

编译直接 make -j4 就可以了
 

 

 

SD卡启动Uboot

将u-boot.bin利用imxdownload烧写即可

./imxdownload u-boot.bin /dev/sdb
,然后选择SD卡启动,从SD中启动Uboot

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!