[I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板

添加开发板默认配置文件

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

当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$
cd arch/arm/configs
cp imx_v7_mfg_defconfig imx_mybsp_emmc_defconfig

make imx_mybsp_emmc_defconfig

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

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

当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$
cd arch/arm/boot/dts
cp imx6ull-14x14-evk.dts imx6ull-mybsp-emmc.dts

修 改 文 件arch/arm/boot/dts/Makefile。

当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$
gedit arch/arm/boot/dts/Makefile

关键字:dtb-$(CONFIG_SOC_IMX6ULL)
添加如下内容:

	imx6ull-mybsp-emmc.dtb \

[I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板_第1张图片

编译测试

创建shell脚本:gedit imx6ull_mybsp_emmc.sh
内容如下:

#!/bin/sh 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_mybsp_emmc_defconfig 
#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig 
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16

运行脚本:

chmod 777 imx6ull_mybsp_emmc.sh
//给予可执行权限
./imx6ull_mybsp_emmc.sh
//执行 shell 脚本编译内核

下载烧录:

编译完成以后就会在目录 arch/arm/boot 下生成 zImage 镜像文件。在 arch/arm/boot/dts 目录下生成 imx6ull-alientek-emmc.dtb 文件。

设置uboot环境变量:https://blog.csdn.net/qq_29246181/article/details/106265362

setenv bootargs ‘console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw’
saveenv

将zImage烧录到开发板中(参考 4、tftp 命令):https://blog.csdn.net/qq_29246181/article/details/106272766

cp arch/arm/boot/zImage …/…/tftpboot/ -f
cp arch/arm/boot/dts/imx6ull-mybsp-emmc.dtb …/…/tftpboot/ -f

将这两个文件拷贝到 tftp 目录下,然后重启开发板,在uboot 命令模式中使用 tftp 命令下载这两个文件并启动,命令如下:

tftp 80800000 zImage
tftp 83000000 imx6ull-mybsp-emmc.dtb
bootz 80800000 - 83000000

在这里插入图片描述

你可能感兴趣的:([I.MX6U],嵌入式,Linux,linux,shell,内核)