uboot版本:uboot-imx-rel_imx_4.1.15_2.1.0_ga
uboot官方下载地址:
参考内容:正点原子
一、添加开发板的配置文件
打开uboot根目录下的configs文件夹,复制mx6ull_14x14_evk_emmc_defconfig文件并重命名mx6ull_fire_emmc_defconfig,输入指令如下
cd configs
cp mx6ull_14x14_evk_emmc_defconfig mx6ull_fire_emmc_defconfig
更改mx6ull_fire_emmc_defconfig文件如下(只修改第一行和第四行)
vim mx6ull_fire_emmc_defconfig
二、添加开发板对应的头文件
在include/configs目录下添加开发板的头文件,复制include/configs/mx6ullevk.h,并重命名为 mx6ull_alientek_emmc.h,命令如下:
cd include/configs/
cp mx6ullevk.h mx6ull_fire_emmc.h
更改mx6ull_fire_emmc.h文件,输入指令
vim mx6ull_fire_emmc.h
#ifndef __MX6ULLEVK_CONFIG_H
#define __MX6ULLEVK_CONFIG_H
改为:
#ifndef __MX6ULL_ALIENTEK_EMMC_CONFIG_H
#define __MX6ULL_ALIENTEK_EMMC_CONFIG_H
其他暂且默认,更改完成如下图:
三、添加开发板对应的文件夹
进入uboot-imx-rel_imx_4.1.15_2.1.0_ga/board/freescale路径,复制mx6ullevk文件夹,并进入,查看文件夹内容,命令如下:
cp -rf mx6ullevk/ mx6ull_fire_emmc
cd mx6ull_fire_emmc
ls
需要更改的文件为:
imximage.cfg 、 Kconfig、Makefile、MAINTAINERS、mx6ullevk.c
1、重命名mx6ullevk.c文件为mx6ull_fire_emmc.c,命令为:
mv mx6ullevk.c mx6ull_fire_emmc.c
2、修改Makefile文件:
修改第六行,需和.c文件名一致,结果如下:
3、修改imximage.cfg 文件
将 imximage.cfg 中的下面一句:
PLUGIN board/freescale/mx6ullevk/plugin.bin 0x00907000
改为:
PLUGIN board/freescale/mx6ull_fire_emmc /plugin.bin 0x00907000
如下图所示:
4、修改 Kconfig 文件
5、修改MAINTAINERS 文件
四、修改 U-Boot 图形界面配置文件
uboot-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/cpu/armv7/mx6/Kconfig(如果用的 I.MX6UL 的话,应该修改 arch/arm/Kconfig 这个文
件),在 207 行加入如下内容:
其中第207行内容名称需要和uboot-imx-rel_imx_4.1.15_2.1.0_ga/board/freescale/mx6ull_fire_emmc/Kconfig文件中的第一行名称一致
在最后一行的 endif的前一行添加如下内容:
source "board/freescale/mx6ull_alientek_emmc/Kconfig"
如下图:
五、重新编译uboot
依次输入以下命令编译,若出现错误,从步骤一开始仔细对比
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_fire_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
等编译完成, 输 入 如 下 命 令 , 添 加 的
mx6ull_alientek_emmc.h 这个头文件有没有被引用。
grep -nR "mx6ull_alientek_emmc.h"
六、烧写 u-boot.bin文件
将内存卡插入电脑,连接到虚拟机,将烧写工具拷贝到uboot的根目录下并给定可执行权限,最后输入指令
./imxdownload u-boot.bin /dev/sdb
imxdownload为正点原子提供的裸机烧写工具,可在正点原子论坛下载linux资料包,包含该工具,我也附上链接https://download.csdn.net/download/qq_32605451/12206203
u-boot.bin为编译生成的uboot文件
/dev/sdb为内存卡设备
烧写完成后,将内存卡插入开发板,开发板设置为SD卡启动,连接串口没打开MobaXterm软件,观察uboot是否正常启动。
后续修改LCD等设备