我们为什么要在uboot里添加自己的开发板呢因为厂家提供的uboot是基于厂家自己的开发板 不适用我们自己的板子所以我们要更改厂家的uboot使其适用于自己的板子 一下是以nxp的I.MX6ULL使用emcc,ddr3为例 1:添加默认配置文件 复制/ configs/目录下的mx6ull_14x14_evk_emmc_defconfig到同一目录下重命名为mx6ull_14x14_cyl_emmc_defconfig 文件名可以根据自己的板子任意命名 注:14x14为mx6ull的尺寸 命令如下: 在uboot文件目录输入 cd configs cpmx6ull_14x14_evk_emmc_defconfig mx6ull_alientek_emmc_defconfig 然后将文件里的mx6ull_14x14_evk_emmc更改为mx6ull_14x14_cyl_emmc_defconfig 示例代码如下
1 CONFIG_SYS_EXTRA_OP tiONS="IMX_CONFIG=board/freescale/mx6ull_cyl_ emmc/imximage.cfg,MX6ULL_EVK_EMMC_REWORK" 2 CONFIG_ARM=y 3 CONFIG_ARCH_MX6=y 4 CONFIG_TARGET_MX6ULL_CYL_EMMC=y 5 CONFIG_CMD_GPIO=y
2:添加头文件 在/include/configs目录下复制mx6ullevk.h重命名为mx6ull_lyc_emmc.h 命令如下 cpinclude/configs/mx6ullevk.h mx6ull_cyl_emmc.h 将条件编译#ifndef __MX6ULLEVK_CONFIG_H #define __MX6ULLEVK_CONFIG_H 改为 #ifndef __MX6ULL_CYL_EMMC_CONFIG_H #define __MX6ULL_CYL_EMMC_CONFIG_H
3添加板级文件夹 在/board/freescale目录下复制mx6ullevk文件夹 重命名为mx6ull_cyl_emmc 进入mx6ull_cyl_emmc将其中的mx6ullevk.c更改为mx6ull_cyl_emmc 命令如下 cd board/freescale/ cp mx6ullevk/ -r mx6ull_cyl_emmc
cd mx6ull_alientek_emmc mv mx6ullevk.c mx6ull_cyl_emmc.c 4修改文件 4.1 修改/boaaf/freescale/mx6ull_cyl_emmc下的Makefile 第 6 行的 obj-y,改为 mx6ull_alientek_emmc.o,这样才会编译 mx6ull_alientek_emmc.c 这个文件
4.2 修改/boaaf/freescale/mx6ull_cyl_emmc下的imxmage.cfg文件 将PLUGINboard/freescale/mx6ullevk/plugin.bin 0x00907000改为 PLUGIN board/freescale/mx6ull_cyl_emmc/plugin.bin 0x00907000
4.3修改/boaaf/freescale/mx6ull_cyl_emmc下的Kconfig文件 修改后如下 1 if TARGET_MX6ULL_CYL_EMMC 2 3 config SYS_BOARD 4 default "mx6ull_cyl_emmc" 5 6 config SYS_VENDOR 7 default "freescale" 8 9 config SYS_SOC 10 default "mx6" 11 12 config SYS_CONFIG_NAME 13 default "mx6ull_cyl_emmc" 14 15 endif
4.4修改/boaaf/freescale/mx6ull_cyl_emmc下的MAINTAINERS文件 改为 MX6ULL_CYL_EMMC BOARD S: Maintained F: board/freescale/mx6ull_cyl_emmc/ F: include/configs/mx6ull_cyl_emmc.h
4.5 修改/arch/arm/cpu/armv7/mx6/Kconfig 在207加入 config TARGET_MX6ULL_CYL_EMMC bool "Support mx6ull_cyl_emmc" select MX6ULL select DM select DM_THERMAL 在最后一行加入 source"board/freescale/mx6ull_cyl_emmc/Kconfig"
|