向NXP官网Linux内核添加ALPHA开发板

一.  Linux内核移植

 经过之前文章的学习与验证,NXP官方提供的 Linux内核可以启动开发板。所以,我们就参考I.MX6ULL EVK 开发板的设置, Linux 内核中添加正点原子的 I.MX6U-ALPHA 开发板。

之前文章验证 NXP官方的Linux 内核是否可启动,地址如下:

NXP官方Linux内核编译-CSDN博客

NXP官方Linux内核启动测试-CSDN博客

二.    Linux 中添加ALPHA开发板

这里所用的Linux内核源码:NXP官方的Linux内核源码。目录如下:

/【正点原子】阿尔法Linux开发板(A盘)-基础资料-2022 /【正点原子】阿尔法Linux开发板(A盘)-基础资料 / 例程源码 / NXP官方原版Uboot和Linux

在 Linux 中添加自己的开发板,大体进行三个部分内容。如下:

(1)  添加开发板默认配置文件

(2) 添加开发板对应的设备树文件

(3) 更改设备树所在目录下的 Makefile,具体是添加编译 开发板对应的设备树文件。

 

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

将 arch/arm/configs 目 录 下 的 imx_v7_mfg_defconfig 重 新 复 制 一 份 , 命 名 为imx_v7_alientek_nand_defconfig,命令如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ cd ./arch/arm/configs/

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/configs$ cp imx_v7_mfg_defconfig imx_v7_alientek_nand_defconfig

以后 imx_v7_alientek_nand_defconfig 就是正点原子的 Nand-Flash版开发板默认配置文件了。

2.  添加开发板对应的设备树文件

添加适合正点原子 EMMC 版开发板的设备树文件,进入目录 arch/arm/boot/dts 中,复制一 imx6ull-14x14-evk.dts ,然后将其重命名为 imx6ull-alientek-nand.dts ,命令如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ cd ./arch/arm/boot/dts

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/boot/dts$ cp imx6ull-14x14-evk.dts imx6ull-alientek-nand.dts

注意:.dts 是设备树源码文件,编译 Linux 的时候会将其编译为 .dtb 文件。

3.  更改设备树所在目录下的 Makefile

imx6ull-alientek-nand.dts 创 建 好 以 后 我 们 还 需 要 修 改 文 件 arch/arm/boot/dts/Makefile , 找 到 dtb-$(CONFIG_SOC_IMX6ULL) 配置项,在此配置项中加入 “ imx6ull-alientek-nand.dtb ” ,如下 所示:

向NXP官网Linux内核添加ALPHA开发板_第1张图片

注意:在添加 "imx6ull-alientek-nand.dtb \"这一行时,"\" 后面的不能有空格符,否则会编译出错。

4.  更改 Linux源码根目录下的 运行脚本文件 imx6ull_evk_nand.sh。

具体更改 脚本中的配置文件名(因为前面我们复制了一个新的配置文件,重新命名了),操作如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ gedit imx6ull_evk_nand.sh

更改如下:

向NXP官网Linux内核添加ALPHA开发板_第2张图片

三.   编译Linux内核

进入 Linux源码根目录下,运行 imx6ull_evk_nand.sh 脚本进行编译:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ ./imx6ull_evk_nand.sh

最后,等待编译成功后,生成 Linux内核文件 zImage与 设备树文件。然后将这两个文件下载到开发板上,进行验证。Linux 内核是否可以成功启动。

如果编译成功,这里会得到两个文件:

①  Linux 内核镜像文件: ./arm/arm/boot/zImage 。

②  ALPHA开发板对应的设备树文件: ./arch/arm/boot/dts/imx6ull-alientek-nand.dtb 。

你可能感兴趣的:(系统移植篇,linux,arm开发)