一、uboot简介
uboot简介:uboot实际是一个现成的bootloader程序,而bootloader的作用是先初始化DDR等外设,然后将Linux内核从存储设备拷贝到 DDR 中,最后启动 kernel。
二、Uboot移植
(1)、移植材料:
一般是参考原厂的开发板做硬件,然后在原厂提供的 BSP 包上做修改,将 uboot 或者 linux kernel 移植到硬件上。
(2)、移植流程
①、在 uboot 中找到参考的开发平台,一般是原厂的开发板。
②、参考原厂开发板移植 uboot 到我们所使用的开发板上。
(3)、移植细节
①、寻找到硬件资源对应的配置文件
②、找到对应的配置文件后直接编译uboot
方式一:
直接使用make命令执行修改顶层Makefile给ARCH和CORSS_COMPILE赋值
enfif
ARCH=arm
CROSS_COMPILE=arm-linux-gnueabihf-
保存退出
make mx6ull_14x14_evk_emmc_defconfig
make V=1 -j4
方式二、创建.sh文件
vi mx6ull.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- -j4
mx6ull_14x14_evk_emmc_defconfig 为硬件配置文件
chmod 777 mx6ull.sh
./mx6ull.sh
最后使用imxdownload软件进行烧录
chmod 777 imxdownload //给予 imxdownload 可执行权限
./imxdownload u-boot.bin /dev/sdg //烧写 u-boot.bin 到 SD 卡中
(4)、到目前为止移植完成
①、主要的就是找到跟硬件匹配的配置文件然后再进行编译。
②、移植完成后测试基本外设是否可以使用。
③、烧录过程中可以使用dd命令进行烧录,在imxdownload烧录软件,在烧录过程中添加了启动文件IVT、Boot Date和DCD,添加到用户代码前面具体原理分析可见:
https://blog.csdn.net/qq_32020019/article/details/103965246