移植NXP官方uboot-imx-imx_v2020.04_5.4.70_2.3.0到阿尔法开发板(一)添加ALIENTEK-ALPHA开发板

本文详细介绍了如何下载和编译NXP官方的U-Boot,以及如何针对ALIENTEK-ALPHA开发板进行配置,包括添加配置文件、头文件、板级文件夹、设备树,并在编译选项中集成。最后测试了编译后的U-Boot。
摘要由CSDN通过智能技术生成

1.下载NXP官方uboot并编译

1.1 下载NXP官方uboot_v2020.04_5.4.70_2.3.0

GitHub官网上下载uboot-imx-imx_v2020.04_5.4.70_2.3.0文件,下载完成后将文件拷贝到Ubuntu主机linux/IMX6ULL/uboot/nxpuboot目录下并解压,如下图所示:
在这里插入图片描述
在这里插入图片描述

1.2 编译NXP官方uboot_v2020.04_5.4.70_2.3.0

编译解压后的uboot源码,进入uboot-imx-imx_v2020.04_5.4.70_2.3.0目录,编译uboot源码如下图所示:
在这里插入图片描述
在这里插入图片描述
出现上述错误是因为操作权限不够,因此为整个目录设置操作权限,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.uboot中添加ALIENTEK-ALPHA开发板

2.1 压缩编译后的uboot_v2020.04_5.4.70_2.3.0

将编译好的uboot_v2020.04_5.4.70_2.3.0进行压缩,并创建alientekuboot目录,将压缩后的文件拷贝到此目录下并解压,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 增加ALIENTEK-ALPHA开发板配置文件

1.使用命令distclean清理工程,如下图所示:
在这里插入图片描述
2.添加ALIENTEK-ALPHA开发板配置文件,进入configs目录下,复制
mx6ull_14x14_evk_emmc_defconfig
文件并重命名为mx6ull_alientek_emmc_defconfig,如下图所示:

在这里插入图片描述
打开mx6ull_alientek_emmc_defconfig文件,对配置文件进行修改,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 添加ALIENTEK-ALPHA开发板对应的头文件

进入include/configs目录下,复制mx6ullevk.h文件并重新命名为mx6ull_alientek_emmc.h,如下图所示:
在这里插入图片描述
1.打开mx6ull_alientek_emmc.h文件,将

#ifndef __MX6ULLEVK_CONFIG_H
#define __MX6ULLEVK_CONFIG_H

更改为

#ifndef __MX6ULL_ALIENTEK_EMMC_CONFIG_H
#define __MX6ULL_ALIENTEK_EMMC_CONFIG_H

2.在mx6ull_alientek_emmc.h文件中添加ALIENTEK-ALPHA开发板设备树内容,添加内容如下图所示:
在这里插入图片描述
  mx6ull_alientek_emmc.h 里面有很多宏定义,这些宏定义基本用于配置 uboot,也有一些I.MX6ULL 的配置项目。如果想要使能或者禁止uboot 的某些功能,就在mx6ull_alientek_emmc.h 里面做修改即可。

2.4 添加ALIENTEK-ALPHA开发板对应的板级文件夹

  uboot中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等等。NXP的I.MX系列芯片所有的板级文件夹都存放在board/freescale目录下,该目录下有个名为mx6ullevk
的文件夹,这个文件夹就是NXP官方I.MX6ULL EVK开发板的板级文件夹。进入board/freescale目录下复制mx6ullevk,将其重命名为mx6ull_alientek_emmc,如下图所示:

在这里插入图片描述
进入mx6ull_alientek_emmc目录下,将mx6ullevk.c文件重命名为mx6ull_alientek_emmc.c,如下图所示:
在这里插入图片描述
修改mx6ull_alientek_emmc目录下文件
1.修改mx6ull_alientek_emmc目录下的imximage.cfg 文件,修改内容如下图所示:
在这里插入图片描述
2.修改mx6ull_alientek_emmc目录下Kconfig文件,修改内容如下图所示:
在这里插入图片描述
3.修改mx6ull_alientek_emmc目录下MAINTAINERS文件,修改内容如下图所示:
在这里插入图片描述
4.修改mx6ull_alientek_emmc目录下Makefile文件,修改内容如下图所示:
在这里插入图片描述
5.修改mx6ull_alientek_emmc目录下mx6ull_alientek_emmc.c文件,修改内容如下图所示:
在这里插入图片描述
在这里插入图片描述

2.5 添加ALIENTEK-ALPHA开发板对应的设备树文件

  uboot 2020 版本使用了设备树描述设备,因此在移植uboot 2020时需要添加ALIENTEK-ALPHA开发板的设备树文件,设备树描述文件存放在arch/arm/dts目录下,在此目录下增加ALIENTEK-ALPHA开发板设备树描述文件,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.修改imx6ull-alientek-emmc.dts文件,修改代码如下图所示:
在这里插入图片描述
2.修改imx6ull-alientek.dts文件,修改代码如下图所示:
在这里插入图片描述
3.修改arch/arm/dts/Makefile文件,将我们创建的ALIENTEK-ALPHA开发板设备树文件添加进编译选项,如下图所示:
在这里插入图片描述
4.NXP官方I.MX6ULL EVK开发板与ALIENTEK-ALPHA开发板设备树对照如下图所示:
在这里插入图片描述

2.6 uboot编译选项中增加ALIENTEK-ALPHA开发板

将ALIENTEK-ALPHA开发板添加进uboot的编译选项中,修改arch/arm/mach-imx/mx6/
Kconfig
文件,修改如下图所示:

在这里插入图片描述
在这里插入图片描述

3.编译修改后的uboot

1.修改顶层Makefile,指定编译器和架构,修改如下图所示:
在这里插入图片描述
2.使用新添加的ALIENTEK-ALPHA开发板的配置编译uboot,编译过程如下图所示:
在这里插入图片描述
在这里插入图片描述
3.编译完成后使用“grep -nR “mx6ull_alientek_emmc.h””命令查看添加的
mx6ull_alientek_emmc.h
这个头文件是否被引用,查看结果如下图所示:

在这里插入图片描述
  由上图可知,很多文件都引用了mx6ull_alientek_emmc.h这个头文件,说明uboot中添加ALIENTEK-ALPHA开发板成功。

4.测试uboot

1.使用imxdownload将新编译的u-boot.bin文件下载到SD卡中,下载过程如下图所示:
在这里插入图片描述
2.测试新编译的uboot,打开SecureCRT软件,ALIENTEK-ALPHA开发板上电后SecureCRT 输出结果如下图所示:
在这里插入图片描述
  由上图可知,LCD显示设备输出的信息和实际的LCD显示屏信息不对同时LCD屏幕并没有显示NXP的logo说明设备树中关于LCD节点的描述存在问题需要修改,网络驱动同样也存在问题,因此同样需要修改设备树中关于网络节点的描述。

  • 12
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值