在Linux中添加自已的开发板
1、将arch/arm/configs目录下的imx_v7_mfg_defconfig文件重新复制一份并命名为imx_alientek_emmc_defconfig,此后该文件就是自已开发板的默认配置文件了命令如下:
cd arch/arm/configs
cp imx_v7_mfg_defconfig imx_luatao_emmc_defconfig
以后就可以使用如下命令来配置正点原子 EMMC 版开发板对应的 Linux 内核了:
cd arch/arm/boot/dts
cp imx6ull-14x14-evk.dts imx6ull-andyxi-emmc.dts
2、进入目录 arch/arm/boot/dts 中,复制一份 imx6ull-14x14-evk.dts,然后将其重命名为 imx6ull-alientek-emmc.dts,命令如下:
cd arch/arm/boot/dts
cp imx6ull-14x14-evk.dts imx6ull-luatao-emmc.dts
.dts 是设备树源码文件,编译 Linux 的时候会将其编译为.dtb 文件。
imx6ull-alientek-emmc.dts创 建 好 以 后 我 们 还 需 要 修 改 文 件 arch/arm/boot/dts/Makefile , 找 到 “ dtb-$(CONFIG_SOC_IMX6ULL)”配置项,在此配置项中加入“imx6ull-alientek-emmc.dtb”
########## arch/arm/boot/dts/Makefile代码段 ##########
dtb-$(CONFIG_SOC_IMX6ULL) += \
imx6ull-14x14-ddr3-arm2.dtb \
imx6ull-14x14-ddr3-arm2-adc.dtb \
......
......
imx6ull-14x14-evk-usb-certi.dtb \
imx6ull-alientek-emmc.dtb \
......
......
这样编译 Linux 的时候就可以从 imx6ull-alientek-emmc.dts 编译出 imx6ull-alientek-emmc.dtb 文件了
2.2编译测试
接 下 接 编 译 测 试 一 下 , 我 们 可 以 创 建 一 个 编 译 脚 本 ,
imx6ull_alientek_emmc.sh,脚本内容如下:
#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_alientek_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j4
编译完成以后就会在目录 arch/arm/boot 下生成 zImage 镜像文件。在 arch/arm/boot/dts 目录下生成 imx6ull-alientek-emmc.dtb 文件。将这两个文件拷贝到 tftp 目录下,
然后重启开发板,在uboot 命令模式中使用 tftp 命令下载这两个文件并启动,命令如下:
tftp 80800000 zImage
tftp 83000000 imx6ull-luatao-emmc.dtb
bootz 80800000 - 83000000
出现如下图示内容就表示Linux内核启动成功: