nxp官方uboot移植到野火开发板PRO(无任何代码逻辑的修改)

简介: nxp官方uboot移植到野火开发板PRO(无任何代码逻辑的修改)

1. 解压官方uboot压缩包

将NXP官方uboot拷贝到虚拟机,并解压,命名为my_uboot,然后进入该目录

f9bfa929693947b4ac61e0a55e085c63.png


2. 添加开发板默认配置文件

官方nxp样板为evk,我们本次移植也是在他的基础上移植的。所以拷贝一份它的配置文件,并进行一些修改8aa38b85401848a4b0550f25912ef5dd.png

修改前:

710d58ac8140434692a7f1f050b74aa4.png


修改后:

131e38b6943645d7932134aacc5d6e07.png


这两个修改部分时候后面的修改相关联的,看到后面自然就知道了为什么会修改了

3. 添加开发板默认的头文件

同样也是拷贝的evk样板的头文件。只需要将开头的条件编译改下。这个文件定一些一系列的宏定义,目的有使能某个uboot命令,配置一些uboot环境变量,设置栈大小,系统时钟等等。


aeeb62d7e0fe43399aa09e12b2bf3127.png

4. 添加开发板对应的板级文件夹

4.1 拷贝evk开发板的板级文件夹

72ffb432cd0b41cf9270ae2a01ac3a0a.png


4.2 将该文件夹下的mx6ullevk.c改为mx6ull_fire_emmc.c

0ef8dffddee34386a6cf275c93c0e48f.png


4.3 修改该路径下的Makefie

上一步将文件名改了,这一步当然得该Makefile了

4.4 修改该路径下的imximage.cfg

修改后如下:

08e07a3749494bed860d12c07a593dbf.png


我们最后编译的u-boot.bin和u-boot.imx的区别就在于imx文件比bin文件多了个头部数据,头部数据就定义在该文件内,如下图:



0c234e7d1aaf44ec9d48a3adb26a2d84.png

4.5 修改当前目录下的Kconfig文件

修改前:

3111cd4769aa46a1ae782047fdb547ba.png

修改后:

2ea2fbdef6034bf5944148ee7017ef2c.png


第一步修改的地方就与第二部分(2. 添加开发板默认配置文件)修改的地方关联起来了

4.6 修改该目录下的MAINTAINERS

修改前:

007175f856434d5e85ae24efa2ad4691.png

修改后:

88aadcf8e54d47198fb12b7c5a0acd47.png


5. 修改U-boot图形界面配置文件

修改文件/arch/arm/cpu/armv7/mx6/Kconfig,添加你自定义的配置,在207行添加(因为我们还是参考的evk配置,evk配置就在201行)

2dde222dd7ca453d9729e9cd2707539b.png

还需要在该文件默认添加:

bf6e5fd03c6f4b9da61250136c7a101d.png


6. 编译初始

6.1 编译

切换到uboot根目录, 使用如下命令配置uboot,生成配置文件.config


b8f685327caa4e7bb5ce4e0ffba11efc.png

编译

V=1 和-j6可要可不要。

  • V=1 表示显示详细的编译信息
  • -j+数字 表示使用几核编译,根据你电脑的处理器来指定数字,可加快编译速度

a2a51e095fbb4848855bf877a7c05fac.png

  • 编译成功
  • 1f3fb8569c0646aaa6893f4dbfc1130c.png

6.2 拷贝到开发板测试

首先将生成u-boot.imx烧录到SD卡内(使用dd命令)

397286bd6493464786ecae6d2f74ebbe.png


将SD插入开发板并重启开发板

176e84ccf1ac4339bb992389fd792a36.png

ac9a8da8e3784734ba9669f3f4492f82.png

7. 注意

  • 每次烧录u-boot.imx到SD卡的时候都需要将SD卡重新格式化,并且不能用Windows自带的格式化功能,因为没有用,不然会残留上次系统的一些信息。建议使用SDFormatter软件进行格式化。



目录
相关文章
|
10月前
|
Linux 开发工具
瑞芯微RV1109配置GPIO设备树修改笔记(熟悉新平台从点灯大法开始)
瑞芯微RV1109配置GPIO设备树修改笔记(熟悉新平台从点灯大法开始)
200 0
|
存储 缓存 安全
基于IAP和Keil MDK的远程升级设计
基于IAP和Keil MDK的远程升级设计
138 0
玩转easyARM imax283A开发版(二),移植NES模拟器并增加按键驱动,让板子可以玩超级玛丽游戏
玩转easyARM imax283A开发版(二),移植NES模拟器并增加按键驱动,让板子可以玩超级玛丽游戏
|
C语言
野火F1开发板STM32案例-MultiButton移植
野火F1开发板STM32案例-MultiButton移植
147 0
|
编译器 芯片
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)
nxp官方uboot移植到野火开发板PRO(修改LCD部分和网络部分)
157 0
|
Linux 开发工具 git
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)具体单板的按键驱动程序(查询方式)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)具体单板的按键驱动程序(查询方式)
221 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)具体单板的按键驱动程序(查询方式)
|
芯片
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
鸿蒙移植i.mx6ull(八) 添加一个单板
270 0
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
|
C语言
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
鸿蒙移植i.mx6ull(八) 添加一个单板
113 0
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
|
Linux 开发工具 芯片
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)查询方式的按键驱动程序_编写框架
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)查询方式的按键驱动程序_编写框架
161 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十四)查询方式的按键驱动程序_编写框架
|
Ubuntu Linux 编译器
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
166 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序