【Linux系统移植】U-Boot编译、烧写与使用
一、U-Boot 简介Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND, NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。二、U-Boot 编译(1)解压uboot源码...
·
一、U-Boot 简介
Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND, NOR FLASH,SD,MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。
二、U-Boot 编译
(1)解压uboot源码
tar -vxjf uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2
(2)编译 uboot的命令
//清除工程
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
//配置工程
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
//编译uboot,使用12核编译
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12
编译完成:
编译前后文件对比:
编译前:
编译后:
u-boot.bin
是编译出来的
uboot 二进制文件。uboot
是个裸机程序,因此需要在其前面加上头部
(IVT
、
DCD
等数据
)
才能在
I.MX6U 上执行。
u-boot.imx
是添加头部以后的
u-boot.bin
,
u-boot.imx
就是要烧写到开发板中的 uboot
镜像文件。
三、使用 shell 脚本编译
(1)新建mx6ull_tek_emmc.sh 的 shell 脚本文件,写入以下内容。
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_ddr512_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12
(2)给脚本文件可执行权限
chmod 777 mx6ull_tek_emmc.sh
(3)执行脚本文件
./mx6ull_tek_emmc.sh
四、U-Boot 烧写与启动
启动:
使用SecureCRT工具,设置好串口参数并打开,复位开发板。在 SecureCRT 上出现“Hit any key to stop autoboot: ”倒计时的时候按下键盘上的回车键,默认是 3 秒倒计时,在 3 秒倒计时结束以后如果没有按下回车键的话 uboot 就会使用默认参数来启动Linux 内核了。如果在 3 秒倒计时结束之前按下回车键,那么就会进入 uboot 的命令行模式。
五、U-Boot 命令使用
更多推荐
已为社区贡献7条内容
所有评论(0)