移植uboot出现:include/config.h:8:22: fatal error: configs/.h: No such file or directory

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

移植uboot出现:include/config.h:8:22: fatal error: configs/.h: No such file or directory

2,869 Views
longbin
Contributor II

移植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文件,还是不明白怎么做,非常感谢你们的帮忙。谢谢。

0 Kudos
2 Replies

1,534 Views
weidong_sun
NXP TechSupport
NXP TechSupport

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不一致,内核启动不了。

如果哪里遇到问题,就仔细阅读我们的几种开发板代码,找出来其中的关联,就能够添加一个你自己定义的板子了。

伟东

0 Kudos

1,534 Views
longbin
Contributor II

非常感谢你的回复,我按你的方式尝试一下。

0 Kudos