1. 解压官方uboot压缩包
将NXP官方uboot拷贝到虚拟机,并解压,命名为my_uboot,然后进入该目录
2. 添加开发板默认配置文件
官方nxp样板为evk,我们本次移植也是在他的基础上移植的。所以拷贝一份它的配置文件,并进行一些修改
修改前:
修改后:
这两个修改部分时候后面的修改相关联的,看到后面自然就知道了为什么会修改了
3. 添加开发板默认的头文件
同样也是拷贝的evk样板的头文件。只需要将开头的条件编译改下。这个文件定一些一系列的宏定义,目的有使能某个uboot命令,配置一些uboot环境变量,设置栈大小,系统时钟等等。
4. 添加开发板对应的板级文件夹
4.1 拷贝evk开发板的板级文件夹
4.2 将该文件夹下的mx6ullevk.c改为mx6ull_fire_emmc.c
4.3 修改该路径下的Makefie
上一步将文件名改了,这一步当然得该Makefile了
4.4 修改该路径下的imximage.cfg
修改后如下:
我们最后编译的u-boot.bin和u-boot.imx的区别就在于imx文件比bin文件多了个头部数据,头部数据就定义在该文件内,如下图:
4.5 修改当前目录下的Kconfig文件
修改前:
修改后:
第一步修改的地方就与第二部分(2. 添加开发板默认配置文件)修改的地方关联起来了
4.6 修改该目录下的MAINTAINERS
修改前:
修改后:
5. 修改U-boot图形界面配置文件
修改文件/arch/arm/cpu/armv7/mx6/Kconfig,添加你自定义的配置,在207行添加(因为我们还是参考的evk配置,evk配置就在201行)
还需要在该文件默认添加:
6. 编译初始
6.1 编译
切换到uboot根目录, 使用如下命令配置uboot,生成配置文件.config
编译
V=1 和-j6可要可不要。
- V=1 表示显示详细的编译信息
- -j+数字 表示使用几核编译,根据你电脑的处理器来指定数字,可加快编译速度
- 编译成功
6.2 拷贝到开发板测试
首先将生成u-boot.imx烧录到SD卡内(使用dd命令)
将SD插入开发板并重启开发板
7. 注意
- 每次烧录u-boot.imx到SD卡的时候都需要将SD卡重新格式化,并且不能用Windows自带的格式化功能,因为没有用,不然会残留上次系统的一些信息。建议使用SDFormatter软件进行格式化。