1.修改顶层 Makefile
定义 ARCH 和 CROSS_COMPILE
然后配置并编译 Linux 内核,得到
①、Linux 内核镜像文件:zImage。
②、NXP 官方 I.MX6ULL EVK 开发板对应的设备树文件:imx6ull-14x14-evk.dtb。
2.在 Linux 中添加自己的开发板
添加开发板默认配置文件将 arch/arm/configs 目 录 下 的 imx_v7_mfg_defconfig 重 新 复 制 一 份 , 命 名 为imx_alientek_emmc_defconfig,命令如下:
cd arch/arm/configscp imx_v7_mfg_defconfig imx_alientek_emmc_defconfig
以后 imx_alientek_emmc_defconfig 就是正点原子的 EMMC 版开发板默认配置文件了。
3.添加开发板对应的设备树文件
添加适合正点原子 EMMC 版开发板的设备树文件,进入目录 arch/arm/boot/dts 中,复制一份 imx6ull-14x14-evk.dts,然后将其重命名为 imx6ull-alientek-emmc.dts,这样编译 Linux 的时候就可以从 imx6ull-alientek-emmc.dts 编译出 imx6ull-alientek-emmc.dtb 文件了
最后创建一个shell脚本,以便内核编译过程。
4.CPU 主频和网络驱动修改
4.1 CPU 主频修改
设置 I.MX6U-ALPHA 开发板工作在 792MHz
正点原子 EMMC 版本核心板上的 EMMC 采用的 8 位数据线,Linux 内核驱动里面 EMMC 默认是 4 线模式的,4 线模式肯定没有 8 线模式的速度快,所以本节我们将 EMMC 的驱动修改为 8 线模式。修改方法很简单,直接修改设备树即可。
4.2 修改网络驱动
修改 LAN8720 的复位 以及网络时钟 引脚驱动,正点原子的enet1和enet2分别连接在GPIO5_IO07和GPIO5_IO08,但是NXP默认是spi接口,所以需要进行重新设置并初始化 ,并使能。在最后还需要对其进行软复位,不然有可能连接不上网络。