1.background:
已经成功编译nxp官方i.mx6ull官方适配包。
2.
2.1board文件夹。复制一份board文件夹,为mx6ull_my_evk
修改mx6ullevk.c为mx6ull_my_evk,c,同时修改makefile文件,第六行需要与mx6ullmy_evk.c对应
修改board/freescale/mx6ull_my_evk/imximage.cfg文件,
第三十四行修改为
PLUGIN board/freescale/mx6ull_my_evk/plugin.bin 0x00907000
修改文件board/freescale/mx6ull_my_evk/Kconfig
(第一行if判断要修改,否则会出现最后的问题)
if TARGET_MX6ULL_14X14_EVK || TARGET_MX6ULL_9X9_EVK
config SYS_BOARD
default "mx6ull_my_evk"
config SYS_VENDOR
default "freescale"
config SYS_CONFIG_NAME
default "mx6ull_my_evk"
endif
修改board/freescale/mx6ull_my_evk/MAINTAINERS文件,原来为
MX6ULLEVK BOARD
M: Peng Fan <peng.fan@nxp.com>
S: Maintained
F: board/freescale/mx6ullevk/
F: include/configs/mx6ullevk.h
F: configs/mx6ull_14x14_evk_defconfig
F: configs/mx6ull_9x9_evk_defconfig
修改后为
MX6ULLEVK BOARD
M: Peng Fan <peng.fan@nxp.com>
S: Maintained
F: board/freescale/mx6ull_my_evk/
F: include/configs/mx6ull_my_evk.h
2.2configs文件夹复制configs文件一份
修改头文件define
2.3 configs文件夹,新增configs/mx6ull_my_evk_emmc_defconfig
内容为,第一行为指向board的路径。(第四行的定义要与board/freescale/mx6ull_my_evk/Kconfig中的if判断一致)
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ull_my_evk/imximage.cfg,MX6ULL_EVK_EMMC_REWORK"
CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_MX6ULL_MY_EVK=y
CONFIG_CMD_GPIO=y
3. uboot图形化界面支持
3.1 修改arch/arm/cpu/armv7/mx6/Kconfig文件
240行插入
插入
编译
错误:error:configs/.h,检查
原因;
configs/mx6ull_my_evk_defconfig中第四行的定义与board/freescale/mx6ull_my_evk/Kconfig中第一行不一致。
最终,编译成功
下载验证
修改checkboard(void) 函数,添加输出便于验证。
新建sheel脚本用于编译
1 #!/bin/bash
2 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
3 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_my_evk_defconfig
4 make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
下载后,可以看到uboot已经启动