一、在linux/IM6ULL/uboot目录下新建alientekuboot目录
1.拷贝uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2文件到linux/IM6ULL/uboot/alientek目录下解压,如下图所示:
2.解压完成后将uboot-imx-rel_imx_4.1.15_2.1.0_ga重新命名为uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek
二、添加ALIENTEK-ALPHA开发板配置文件
1.在configs目录下创建ALIENTEK-ALPHA开发板配置文件,复制
mx6ull_14x14_evk_emmc_defconfig将其重命名为mx6ull_alientek_emmc_defconfig,如下图所
示:
2.修改mx6ull_alientek_emmc_defconfig内容如下图所示:
将上面红色框中内容修改为以下内容:
三、添加ALIENTEK-ALPHA开发板对应的头文件
1.在目录include/configs下添加ALIENTEK-ALPHA开发板对应的头文件,复制
include/configs/mx6ullevk.h文件并将其重命名为mx6ull_alientek_emmc.h,如下图所示:
2.拷贝完成以后,修改头文件名字:
改为:
mx6ull_alientek_emmc.h 里面有很多宏定义,这些宏定义基本用于配置 uboot,也有一些
I.MX6ULL 的配置项目。如果我们自己要想使能或者禁止 uboot 的某些功能,那就在
mx6ull_alientek_emmc.h 里面做修改即可。
四、添加ALIENTEK-ALPHA开发板对应的板级文件夹
uboot 中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等等。NXP 的 I.MX 系列芯片的所有板级文件夹都存放在 board/freescale 目录下,在这个目录下 有个名为 mx6ullevk 的文件夹,这个文件夹就是 NXP 官方 I.MX6ULL EVK 开发板的板级文件夹。
- 复制 mx6ullevk,将其重命名为 mx6ull_alientek_emmc,并查看如下图所示:
2.进入mx6ull_alientek_emmc目录将该目录下mx6ullevk.c重命名为mx6ull_alientek_emmc.c,如下图所示:
3.修改mx6ull_alientek_emmc目录下的Makefile文件,修改内容如下图所示:
上图中红色框中内容修改为mx6ull_alientek_emmc.o这样才会编译mx6ull_alientek_emmc.c
这个文件
4.修改mx6ull_alientek_emmc目录下的imximage.cfg文件
将上图中红色框中内容修改如下:
5. 修改mx6ull_alientek_emmc目录下的Kconfig文件
将上图中红色框中内容修改如下:
6. 修改mx6ull_alientek_emmc目录下的MAINTAINERS文件
将上图中红色框中的内容修改如下:
7. 修改U-Boot图形界面配置文件
uboot 是支持图形界面配置,修改文件arch/arm/cpu/armv7/mx6/Kconfig,在 201 行加入如下内容:
在最后一行的 endif 的前一行添加如下内容:
到此为止,ALIENTEK-ALPHA 开发板就已经添加到 uboot 中了,接下来就是编译这个新添加
的开发板。
五、编译新添加的开发板
等待编译完成,编译完成以后输入如下命令,查看一下添加的 mx6ull_alientek_emmc.h 这个
头文 件有没有被引用。grep -nR "mx6ull_alientek_emmc.h" 如果有很多文件都引用了
mx6ull_alientek_emmc.h这个头文件,那就说明新板子添加成功。
编译完成以后就使用imxdownload 将新编译出来的 u-boot.bin 烧写到 SD 卡中。
将SD开插入ALIENTEK-ALPHA开发板SD插槽中,将拨码开关拨到SD卡启动,打开
SecureCRT软件并观察SecureCRT输出结果如下图所示:
从上图中可以看出,uboot 启动正常,而且 DRAM 识别正确,为512MB。
- SD卡和EMMC驱动检查
检查一下 SD 卡和 EMMC 驱动是否正常,使用命令 mmc list 列出当前的 MMC 设备,结果如
下图所示:
从上图中可以看出当前有两个MMC设备,MMC设备0为SD卡,检查MMC设备0,输入命令如下
图所示:
从上图中可以看出,MMC设备0是SD卡,SD卡容量为14.8GB,说明SD卡驱动正常。再来检查
MMC设备 1,输入命令如下图所示:
从上图中可以看出,MMC设备1为EMMC,容量为7.3GB,说明EMMC 驱动也成功,SD 卡和
EMMC的驱动都没问题。
2. LCD驱动检查
由上图可知 LCD显示异常,需要更改uboot中LCD驱动程序。
3. ENET驱动检查
uboot 启动的时候提示“Board Net Initialization Failed”和“No ethernet found.”这两行,说明网络
驱动也有问题,uboot中网络驱动也需要修改。这是因为ALIENTEK-ALPHA开发板的网络芯片
(LAN8720)复位引脚和NXP官方开发板不一样,因此需要修改网络驱动。