前言
将NXP出的uboot添加自己的板子,移植到I.MX6ull的mini板中,使用的屏幕为4.8寸,分辨率为800x480的LCD显示屏。
行文目录
- 前言
- 准备工作
- 在Uboot中添加自己的开发板
-
- 添加文件
-
- 添加开发板默认配置文件
- 添加开发板对应的头文件
- 添加开发板对应的板级文件夹
- 修改U-Boot图形界面配置文件
- LCD与网络驱动修改
- 参考文献
准备工作
首先利用FileZilla,将uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2压缩包放进虚拟机中,这里我放到了uboot文件夹中。
之后我们将这个压缩包进行解压,解压到当前目录中,随后我们打开VSCode,创建一个新工程,方便我们后续修改。依次按下面的方式打开我们刚刚解压的文件。
File->Open Folder
打开后我们先将工程保存一下,依次按下面的顺序点击保存工作空间,工作空间的文件名字可以按照自己的想法命名,此处我命名为u-boot.code-workspace
File->Save WorkSpace As
进入到configs文件夹中,里面有很多配置文件,我们使用的是mx6ulll系列的,因此向下找到mx6ull开头的配置文件。mx6ull有9x9mm和14x14mm的,整点原子的是14x14mm并且楼主使用的是emmc版,因此我们要修改mx6ull_14x14_evk_emmc_defconfig作为默认配置文件。
为了方便编译,我们在顶层的makefile中指定架构和交叉编译器,在其中的环境变量是ARCH和CROSS_COMPILE,如下所示:
接下来我们要进入到解压后的路径,使用make指令,调用这个makefile编译uboot,具体指令如下:
make mx6ull_14x14_evk_emmc_defconfig
make V=1 -j16
看到下面的提示信息就可以确定我们编译成功了。
创建一个脚本,其中的内容是刚刚编译uboot的指令,
vi mx6ull_14x14_evk_emmc.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- -j16
写完之后保存文件
按完esc后点击 :wq
然后我们给这个文件执行权限,可以直接给777,需要看到文件的颜色变成绿色,即表示有执行权限了。
chmod 777 mx6ull_14x14_evk_emmc.sh
将imxdownload文件拷贝到uboot的根目录下,即刚解压的文件夹目录下。
在插入sd卡之前,使用下列指令,查看已有的挂载磁盘,之后插入sd卡后,也要查看一次,看看新的sd卡挂载在哪里
所以我们可以看到,楼主这里的sd是/dev/sdb,下面的sdb1和sdb2是两个分区,此时我们需要用imxdownload将编译后的可执行文件u-boot.bin下载进sd卡中。
./imxdownload u-boot.bin /dev/sdb
出现如下所示即是下载成功