移植uboot出现:include/config.h:8:22: fatal error: configs/.h: No such file or directory
我没有完全按《i.MX_BSP_Porting_Guide.pdf》做,因为我不想以mx开头,而是以我公司的名称开头,方便查找。
我的步骤如下:
1.拷贝板子文件:cp -R board/freescale/mx6ul_14x14_evk/* board/yada/yada_imx6ul_14x14_hmi/
文件夹如下:
imximage.cfg imximage_lpddr2.cfg Kconfig MAINTAINERS Makefile plugin.S README yada_imx6ul_14x14_hmi.c
Kconfig文件如下:
if TARGET_YADA_IMX6UL_14X14_HMI
config SYS_BOARD
default "yada_imx6ul_14x14_hmi"
config SYS_VENDOR
default "yada"
config SYS_CONFIG_NAME
default "yada_imx6ul_14x14_hmi"
endif
Makefile文件如下:
# (C) Copyright 2015 Freescale Semiconductor, Inc.
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-y := yada_imx6ul_14x14_hmi.o
extra-$(CONFIG_USE_PLUGIN) := plugin.bin
$(obj)/plugin.bin: $(obj)/plugin.o
$(OBJCOPY) -O binary --gap-fill 0xff $< $@
MAINTAINERS文件如下:
YADA IMX6UL BOARD
M: longbin <longbin@yada.com>
S: Maintained
F: board/yada/yada_imx6ul_14x14_hmi/
F: include/configs/yada_imx6ul_14x14_hmi.h
F: configs/yada_mx6ul_14x14_hmi_defconfig
2.拷贝头文件:include/configs/yada_imx6ul_14x14_hmi.h,改文件没有改动。
3.创建配置文件:yada_imx6ul_14x14_hmi_defconfig,内容如下:
CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_YADA_IMX6UL_14x14_HMI=y
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/yada/yada_imx6ul_14x14_hmi/imximage.cfg,MX6UL,MX6UL_EVK_EMMC_REWORK"
CONFIG_CMD_GPIO=y
CONFIG_CMD_DHCP=y
CONFIG_CMD_PING=y
4.改动arch/arm/cpu/armv7/mx6/Kconfig:
config TARGET_YADA_IMX6UL_14X14_HMI
bool "Support yada_imx6ul_14x14_hmi"
select MX6UL
select DM
select DM_THERMAL
select SUPPORT_SPL
source "board/yada/yada_imx6ul_14x14_hmi/Kconfig"
我查考了README.kconfig和scripts/Makefile.autoconf文件,还是不明白怎么做,非常感谢你们的帮忙。谢谢。
Hello Long,
在u-boot中,有好几种I.MX6的板子代码,基于i.mx6q和I.MX6DL的分别有不同的型号。举个例子,你的板子如果是基于i.MX6Q SabreSD设计的,那么你自己的U-BOOT中的代码,就请基于SabreSD来做。
第一,按照板子的格式,给自己的板子建一个目录。表示你自己板子的U-BOOT BSP代码。
第二,你仔细地阅读SabreSD的文件关联。在config/路径下,每个板子都有自己的.h文件,那么你的板子也必须要有。所以,你可以基于SabreSD的.h文件做,建立个临时目录,有关文件复制过去,修改成你需要的名字,然后再复制到config/目录下。
第三,u-boot 下的总的Makefile文件,这里要支持你的板子。参考我们开发板格式,加上去。
第四,编译链接时,会区分板子的名字,你注意一下是否还有其他地方需要修改。
第五,有关板子的ID号,这个ID请不要修改,否则会造成和内核ID不一致,内核启动不了。
如果哪里遇到问题,就仔细阅读我们的几种开发板代码,找出来其中的关联,就能够添加一个你自己定义的板子了。
伟东