OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9303|回复: 15

基于NXP的U-Boot移植编译报错

[复制链接]

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2015-7-17
在线时间
7 小时
发表于 2019-12-6 16:47:11 | 显示全部楼层 |阅读模式
本帖最后由 仰望星空之云 于 2020-1-3 13:59 编辑

按照“第三十三章 U-Boot移植”一步步操作,运行./mx6ull_alientek_emmc.sh脚本编译报错,log信息如下图,提示include/config.h文件中缺“configs/.h”文件。
/* Automatically generated - do not edit */
#define CONFIG_IMX_CONFIG   board/freescale/mx6ull_alientek_emmc/imximage.cfg
#define CONFIG_MX6ULL_EVK_EMMC_REWORK   1
#define CONFIG_BOARDDIR board/
#include <config_defaults.h>
#include <config_uncmd_spl.h>
#include <configs/.h>
#include <asm/config.h>
#include <config_fallbacks.h>


无标题.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
发表于 2019-12-20 16:38:40 | 显示全部楼层
YK山羊 发表于 2019-12-17 09:42
编译信息已经给出问题所在了,你把#include "config.h"写成了#include "config/.h",对比正确的文件看一下
...

今天按照手册复习修改移植uboot也遇到这样的问题了,报生成的include/config.h中出现#include <configs/.h>错误,然后根据查看include/common.h中#include <configs.h>并未写错,我发现在修改board/freescale/mx6ull_alientek_emmc/Kconfig & configs/mx6ull_alientek_emmc_deconfig &  arch/arm/cpu/armv7/mx6/Kconfig这三个文件如果定义“TARGET_MX6ULL_ALIENTEK_EMMC”不一致,会出现上面的问题。
回复 支持 0 反对 1

使用道具 举报

8

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2017-12-12
在线时间
103 小时
发表于 2019-12-17 09:42:04 | 显示全部楼层
编译信息已经给出问题所在了,你把#include "config.h"写成了#include "config/.h",对比正确的文件看一下
20191217093719.png
回复 支持 1 反对 0

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2019-12-7 16:47:21 | 显示全部楼层
有没有先执行make xxx_defconfig配置uboot
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2015-7-17
在线时间
7 小时
 楼主| 发表于 2019-12-10 09:46:25 | 显示全部楼层
zuozhongkai 发表于 2019-12-7 16:47
有没有先执行make xxx_defconfig配置uboot

执行 make mx6ull_alientek_emmc_defconfig配置uboot,同样提示:缺少configs/.h这个文件,log如下:

user@linux:~/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$ make mx6ull_alientek_emmc_defconfig
#
# configuration written to .config
#
user@linux:~/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$ make V=1 -j2
make -f ./Makefile silentoldconfig
make -f ./scripts/Makefile.build obj=scripts/basic
rm -f .tmp_quiet_recordmcount
make -f ./scripts/Makefile.build obj=scripts/kconfig silentoldconfig
mkdir -p include/config include/generated
scripts/kconfig/conf  --silentoldconfig Kconfig
make -f ./scripts/Makefile.autoconf || \
        { rm -f include/config/auto.conf; false; }
if [ -d arch/arm/mach-mx6/include/mach ]; then        \
        dest=../../mach-mx6/include/mach;                        \
else                                                                \
        dest=arch-mx6;                        \
fi;                                                                \
ln -fsn $dest arch/arm/include/asm/arch
set -e; : '  CHK     include/config.h'; mkdir -p include/;         (echo "/* Automatically generated - do not edit */"; for i in $(echo "IMX_CONFIG=board/freescale/mx6ull_alientek_emmc/imximage.cfg,MX6ULL_EVK_EMMC_REWORK" | sed 's/,/ /g'); do echo \#define CONFIG_$i | sed '/=/ {s/=/        /;q; } ; { s/$/        1/; }'; done; echo \#define CONFIG_BOARDDIR board/; echo \#include \<config_defaults.h\>; echo \#include \<config_uncmd_spl.h\>; echo \#include \<configs/.h\>; echo \#include \<asm/config.h\>; echo \#include \<config_fallbacks.h\>;) < scripts/Makefile.autoconf > include/config.h.tmp; if [ -r include/config.h ] && cmp -s include/config.h include/config.h.tmp; then rm -f include/config.h.tmp; else : '  UPD     include/config.h'; mv -f include/config.h.tmp include/config.h; fi
  arm-linux-gnueabihf-gcc -x c -DDO_DEPS_ONLY -M -MP -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -Os -fno-stack-protector -fno-delete-null-pointer-checks -g -fstack-usage -Wno-format-nonliteral -Werror=date-time  -D__KERNEL__ -D__UBOOT__   -D__ARM__ -marm -mno-thumb-interwork  -mabi=aapcs-linux  -mword-relocations  -fno-pic  -mno-unaligned-access  -ffunction-sections -fdata-sections -fno-common -ffixed-r9  -msoft-float  -pipe -Iinclude  -I./arch/arm/include -include ./include/linux/kconfig.h  -nostdinc -isystem /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.4/include -MQ include/config/auto.conf ./include/common.h > include/autoconf.mk.dep || { rm include/autoconf.mk.dep; false; }
  arm-linux-gnueabihf-gcc -E -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -Os -fno-stack-protector -fno-delete-null-pointer-checks -g -fstack-usage -Wno-format-nonliteral -Werror=date-time  -D__KERNEL__ -D__UBOOT__   -D__ARM__ -marm -mno-thumb-interwork  -mabi=aapcs-linux  -mword-relocations  -fno-pic  -mno-unaligned-access  -ffunction-sections -fdata-sections -fno-common -ffixed-r9  -msoft-float  -pipe -Iinclude  -I./arch/arm/include -include ./include/linux/kconfig.h  -nostdinc -isystem /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.4/include  -DDO_DEPS_ONLY -dM ./include/common.h > include/autoconf.mk.tmp && { sed -n -f ./tools/scripts/define2mk.sed include/autoconf.mk.tmp | while read line; do if [ -n "" ] || ! grep -q "${line%=*}=" include/config/auto.conf; then echo "$line"; fi done > include/autoconf.mk; rm include/autoconf.mk.tmp; } || { rm include/autoconf.mk.tmp; false; }
In file included from ./include/common.h:18:0:
include/config.h:7:22: fatal error: configs/.h: 没有那个文件或目录
#include <configs/.h>
                      ^
compilation terminated.
In file included from ./include/common.h:18:0:
include/config.h:7:22: fatal error: configs/.h: 没有那个文件或目录
#include <configs/.h>
                      ^
compilation terminated.
scripts/Makefile.autoconf:50: recipe for target 'include/autoconf.mk.dep' failed
make[1]: *** [include/autoconf.mk.dep] Error 1
make[1]: *** 正在等待未完成的任务....
scripts/Makefile.autoconf:75: recipe for target 'include/autoconf.mk' failed
make[1]: *** [include/autoconf.mk] Error 1
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'。 停止。
user@linux:~/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga$
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2015-7-17
在线时间
7 小时
 楼主| 发表于 2019-12-10 14:49:40 | 显示全部楼层
happy_xmy 发表于 2019-12-10 09:46
执行 make mx6ull_alientek_emmc_defconfig配置uboot,同样提示:缺少configs/.h这个文件,log如下:

...

不知什么原因,将整个uboot包删除了,重新按照教程一步步操作,可以正确编译出u-boot.bin文件。
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-10-25
在线时间
9 小时
发表于 2019-12-16 19:55:14 | 显示全部楼层
遇到与楼主一样的问题,还是没有找到错误的地方,不知道有没有遇到同样问题找到答案的。难道是因为我之前用这个uboot编译过的原因?
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-10-25
在线时间
9 小时
发表于 2019-12-17 09:17:53 | 显示全部楼层
今天重新看了一下,是一些地方仍然没有做好才导致这个问题出现,比如arch/arm/cpu/armv7/mx6/Kconfig 下的207行这里config TARGET_MX6ULL_ALIENTEK_EMMC,检查是否有写错。4、修改 mx6ull_alientek_emmc目录下的 MAINTAINERS文件,是否有错误,有些地方总是不是那么细心导致了写错或者漏写,如果还是不行,那就休息一下,等精神好些,再来从头捋一遍就好了。
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-5-11
在线时间
14 小时
发表于 2020-2-21 16:28:21 | 显示全部楼层
遇到同样问题,捋了两边还是不行,mmp,去远眺几分钟,再来重新捋
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-5-11
在线时间
14 小时
发表于 2020-2-21 16:42:51 | 显示全部楼层
厚着脸皮学 发表于 2020-2-21 16:28
遇到同样问题,捋了两边还是不行,mmp,去远眺几分钟,再来重新捋

[img]多谢多谢提醒@YK山羊 ,本来说要去休息椅i西安再看,但在去之前与看了一下你的提示,我有把这三个打开对比,才最终找到错的地方:就图中这里改了两次都没改完:最开始①处没改,并且把“mx6”这个给干没了,后来找到把他加上,但又粗心的直接复制另外一个过来,改mx6,但SYS_SOC这里又忘了改,第三次把这里改过来了,第四次才发现①的问题。。真实眼快手残C:\Users\pepper\Desktop\111111111.JPG
111111111.JPG
回复 支持 反对

使用道具 举报

19

主题

85

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1081
金钱
1081
注册时间
2017-10-6
在线时间
169 小时
发表于 2020-6-21 16:57:24 | 显示全部楼层

我今天也遇到了跟你一样的问题,百思不得其解,最后看了你这个帖子,发现你那标记的第一个位置,就是我错的位置,太感谢了!
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2019-5-11
在线时间
14 小时
发表于 2020-6-27 16:44:56 | 显示全部楼层
32初学者 发表于 2020-6-21 16:57
我今天也遇到了跟你一样的问题,百思不得其解,最后看了你这个帖子,发现你那标记的第一个位置,就是我错 ...

嘿嘿,解决就好
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2019-7-13
在线时间
11 小时
发表于 2022-3-11 16:10:40 | 显示全部楼层
YK山羊 发表于 2019-12-20 16:38
今天按照手册复习修改移植uboot也遇到这样的问题了,报生成的include/config.h中出现#include 错误,然后 ...

感谢,问题解决
回复 支持 反对

使用道具 举报

1

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2016-9-5
在线时间
58 小时
发表于 2022-7-31 20:15:30 | 显示全部楼层
我也遇到,应该是解压源码命令时:tar -vxf中少写了个j, 用 tar -vxjf解压后,按视频教程就可以了。
回复 支持 反对

使用道具 举报

1

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2016-9-5
在线时间
58 小时
发表于 2022-7-31 20:19:23 | 显示全部楼层
另外,之前出错有复制粘贴教程命令,后来成功是手动输入,不知道是否也有这个原因。
回复 支持 反对

使用道具 举报

0

主题

50

帖子

0

精华

高级会员

Rank: 4

积分
984
金钱
984
注册时间
2019-7-3
在线时间
185 小时
发表于 2022-8-12 09:06:24 | 显示全部楼层
maicolwu 发表于 2022-7-31 20:19
另外,之前出错有复制粘贴教程命令,后来成功是手动输入,不知道是否也有这个原因。

手动输吧。这样靠谱。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 08:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表