NXP官方的i.mx6ul板级kernel源码适配

1、前言

Com-P6UL是盈鹏飞科技有限公司基于NXP原厂I.MX6UL芯片生产研发的核心板,本文将对CoM-P6UL适配NXP的基于Linux4.1.15版本的kernel板级源码的过程进行介绍。

 

2、开发环境

目标板:CoM-P6UL(RAM:256MB,Nand Flash:256MB)

NXP官方的i.mx6ul板级kernel源码适配

主机:Linux ubuntu 4.15.0-70-generic

交叉编译工具链:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf

源码下载链接:http://git.freescale.com/git/

 

3、官方kernel移植适配

在上面给出的链接中,下载完源码后,可以先通过NXP官方的i.mx6ul evk的评估板配置文件进行编译,检查kernel源码是否能编译通过,后面再添加适配Com-P6UL核心板的文件:

解压kernel源码,并进入到kernel源码根目录:

$ tar -xvzf rel_imx_4.1.15_2.1.0_ga.tar.gz 
$ cd rel_imx_4.1.15_2.1.0_ga/

接下来,尝试开始编译NXP官方提供的kernel源码:

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_mfg_defconfig
or
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

在编译Linux内核之前需要先配置Linux内核,每个板子的默认配置文件在下面的目录:

rel_imx_4.1.15_2.1.0_ga/arch/arm/configs

对于NXP官方i.mx6ul芯片的evk评估板的配置文件可以使用imx_v7_mfg_defconfig和imx_v7_defconfig这两个配置文件,其中imx_v7_mfg_defconfig这个默认配置文件编译出来的Linux内核镜像zImage文件支持NXP官方的MfgTool软件,该软件能通过板载的USB OTG接口更新目标板的uboot、kernel和rootfs。

执行make编译命令后,如果在下面的目录中出现zImage镜像文件:

rel_imx_4.1.15_2.1.0_ga/arch/arm/boot

如下所示:

NXP官方的i.mx6ul板级kernel源码适配

并在下面的目录下,出现NXP官方i.mx6ul芯片的evk评估板的设备树文件:

rel_imx_4.1.15_2.1.0_ga/arch/arm/boot/dts

如下所示:

NXP官方的i.mx6ul板级kernel源码适配

表示NXP官方的Linux内核源码已经成功编译了。

接下来,需要修改Linux内核源码适配CoM-P6UL核心板,在前面我们编译出来的内核镜像和设备树文件是基于NXP官方的Demo评估板的,因此,需要进一步进行适配,编译出适合我们需要的zImage镜像文件和设备树文件。

 

4、小结

上一篇:CF626G Raffles


下一篇:Uboot启动流程分析(一)