uboot fatal error: configs/.h: No such file or directory 解决方法

news2025/1/18 17:14:44

环境

  • Win10 64位

  • ubuntu 20.04

  • 虚拟机 VMware® Workstation 16 Pro

  • 开发板:NK-980IOT(NUC980DK61Y)

  • gcc 交叉编译工具链: ARM 官方 gcc version 11.2.1 20220111

  • NUC980 uboot 版本 :尝试移植到 u-boot-2019.10,官方当前 u-boot 版本为 2016.11

问题描述

  • 在尝试升级 nuc980 的 u-boot 版本时,gcc 编译遇到问题,报错信息如下:
rtt@ubuntu:~/nuc980/u-boot-2017.05$ make ARCH=arm CROSS_COMPILE=arm-none-eabi-
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  CFG     u-boot.cfg
In file included from ./include/common.h:21:0:
include/config.h:5:10: fatal error: configs/.h: No such file or directory
 #include <configs/.h>
          ^~~~~~~~~~~~
compilation terminated.
make[1]: *** [scripts/Makefile.autoconf:79: u-boot.cfg] Error 1
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.
  • 经过对比移植的代码,并分析这个 #include <configs/.h>,初步认为 board 的配置,如 CONFIG_SYS_CONFIG_NAME="nuc980_iot" 没有生效
config SYS_CONFIG_NAME
	string
	help
	  This option should contain the base name of board header file.
	  The header file include/configs/<CONFIG_SYS_CONFIG_NAME>.h
	  should be included from include/config.h.
  • 经过进一步搜索发现,原来开发板 的 Kconfig 文件没有【参与配置】

在这里插入图片描述

解决方法

  • 修改 开发板 arch/arm/Kconfig 文件,加入 开发板 board 的 Kconfig 文件,需要 通过 source 的方式加入,这样系统在 menuconfig 时,开发板的配置就可以参与配置

在这里插入图片描述

source "board/nuvoton/nuc970/Kconfig"
source "board/nuvoton/nuc980/Kconfig"
  • 让板子的板级配置 Kconfig 参与配置后,问题就解决了,并且找到了 板子的头文件,这里是
    include\configs\nuc980_iot.h

小结

  • u-boot 移植新的 板子配置时,注意需要把 board 下的 Kconfig 文件加入 到 CPU 平台架构文件下的 Kconfig 中,参与配置,如这里的 arch/arm/Kconfig board/nuvoton/nuc970/Kconfig

  • 遇到类似的问题,可以通过查看 Makefile 文件,缩小问题范围,如 include/configs/<CONFIG_SYS_CONFIG_NAME>.h,首先需要确认 CONFIG_SYS_CONFIG_NAME 是否存在,如何使能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/523634.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【游戏逆向】《某山奇缘》发包函数

一个游戏我们拿来以后第一件事肯定是要去分析发包函数。 因为发包函数可以给我们很多有用的信息。 第一&#xff0c;所有的功能都可以通过发包实现。 第二&#xff0c;发包中的参数可以获悉游戏中的数据形式&#xff0c;例如某些参数是类型&#xff0c;ID是什么样的值。 第…

Java 中同步机制的几种方式及使用

在Java中&#xff0c;同步机制是用来解决多线程并发访问共享资源的问题。如果多个线程同时访问共享资源&#xff0c;可能会导致数据不一致、死锁等问题。Java中提供了多种同步机制&#xff0c;例如synchronized关键字、Lock接口、Semaphore类、CountDownLatch类等。本文将介绍J…

Vivado综合属性系列之二 SRL_STYLE

目录 一、前言 二、SRL_STYLE 2.1 移位寄存器实现方式 2.2 工程代码 2.3 参考资料 一、前言 移位寄存器SRL在工程中属于使用频率较高个模块&#xff0c;可用于存储数据&#xff0c;实现串并转换&#xff1b; 根据数据移动方向可分为左移寄存器&#xff0c;右移寄存器&#x…

Vue3-黑马(八)

目录&#xff1a; &#xff08;1&#xff09;vue3-进阶-antdv-分页 &#xff08;2&#xff09;vue3-进阶-antdv-搜索 &#xff08;3&#xff09;vue3-进阶-antdv-删除1 &#xff08;1&#xff09;vue3-进阶-antdv-分页 分页显示不对&#xff0c;修改下方分页条&#xff1a; …

Web 自动化笔记-第一章 Selenium 环境搭建

1.自动化测试能解决什么问题&#xff1f; 1. 解决-回归测试 2. 解决-压力测试 3. 解决-兼容性测试 4. 提高测试效率,保证产品质量 回归测试&#xff1a; 项目在发新版本之后对项目之前的功能进行验证 压力测试&#xff1a; 可以理解多用户同时去操作软件&#xff0c; 统计软件服…

近1500支队伍、6000名开发者齐聚,第三届Light技术公益创造营收官

在很多老年人看来&#xff0c;融入数字生活并不容易&#xff0c;经常误点广告、不时接到诈骗电话、不会操作智能手机……但有些老年人并不担心这些&#xff0c;“误点了付款&#xff0c;有人会打电话过来&#xff0c;提醒我不要被骗了。”一位老人放心地进行着“网上冲浪”。而…

Python程序员该如何提高薪资水平?我来谈谈实用的五大方法

今天我要跟小伙伴们讨论的话题是&#xff1a;Python程序员该如何提升自己的价值&#xff1f;换句话说&#xff0c;程序员该如何逐渐增加自己的薪资&#xff1f;我想这是大家都关心的一个问题。首先&#xff0c;我们要明确一点&#xff0c;程序员的价值所在是什么&#xff1f;关…

深度学习之图像分类(一):AlexNet

本专栏介绍基于深度学习进行图像识别的经典和前沿模型&#xff0c;将持续更新&#xff0c;包括不仅限于&#xff1a;AlexNet&#xff0c; ZFNet&#xff0c;VGG&#xff0c;GoogLeNet&#xff0c;ResNet&#xff0c;DenseNet&#xff0c;SENet&#xff0c;MobileNet&#xff0c…

var、let、const和执行上下文

let/const/var let 基本语法 ES6新增了let命令&#xff0c;用于声明变量&#xff0c;其语法类似于var&#xff0c;但是所声明的变量只在let命令所在的代码块内有效 不存在变量提升 var命令会发生“变量提升”现象&#xff0c;即变量可以在声明之前使用&#xff0c;值为und…

【部署jar包到服务器】

部署打好的jar包到服务器 首先需要安装对应版本的jdk 查看所有可安装的jdk版本 yum -y list java 选择对应的安装 例如 yum install -y java-1.8.0-openjdk-devel.x86_64 安装好之后&#xff0c;查看jdk版本 java -version 默认安装位置在 usr/lib/jvm之中 倘若你之前的版本不对…

引爆海外市场:ChatGPT带来定制化营销活动的奇迹

在定制一场海外营销活动时&#xff0c;需要首先了解海外市场和定制营销活动的关键是研究目标市场的文化和消费习惯。这包括但不限于&#xff1a; 目标市场的语言和文化背景当地消费者的购买习惯和偏好该领域的市场趋势和竞争情况目标市场的法律法规、行业标准和规范推广渠道和…

编译opencv4.7.0 + opencv_contrib 记录

最近一个项目需要涉及到图像拼接算法&#xff0c;网上了解一番&#xff0c;也大致有思路&#xff1a; 1. 利用surf算法查找特征点 2. 过滤掉一些&#xff0c;获取good点 3. 然后进行配准&#xff08;图像扭曲&#xff09;&#xff0c;对接 4. 形成最终拼接图片 这些工作&a…

NeRF原理简介及实现

“ NeRF&#xff08;Neural Radiance Fields&#xff09;是一种先进的计算机图形学技术&#xff0c;能够使用深度全连接神经网络优化场景的连续5D函数表示&#xff0c;从而生成高度逼真的3D场景。该技术的优势在于没有使用离散化的网格或体素来表示场景&#xff0c;而是使用一个…

【Pandas与SQL系列】Pandas实现分布函数percent_rank、cume_dist

目录 1&#xff0c;分布函数,1.1&#xff0c;percent_rank()1.2&#xff0c;cume_dist()1.3 SQL例子 2&#xff0c;Pandas 实现3&#xff0c;补充Pandas实现排序 1&#xff0c;分布函数, 应用场景&#xff1a;快速查看某个记录所归属的组内的比例 分布函数分类及基础语法&…

asp.net952-sqlserver学生成绩信息管理系统开发

本学生管理系统主要学校内部提供服务&#xff0c;系统分为管理员&#xff0c;教师和学生三部分。 本研究课题重点主要包括了下面几大模块&#xff1a;用户登录&#xff0c;管理员管理,教师信息管理,学生信息管理,课程信息管理,考试信息管理,成绩信息管理系统设置等功能。这几个…

基于深度自编码网络实现轴承故障诊断

1.网络模型(数据集为CWRU) 代码实现了一个基于DAE的分类模型&#xff0c;用于对给定数据集进行分类。首先&#xff0c;通过DAE模型对原始数据进行特征提取和降维&#xff0c;然后使用分类模型将提取的特征与标签相匹配&#xff0c;以便对新数据进行分类。 代码的主要流程: 导…

用激光点云估算建筑高度【PDAL|PostgreSQL】

LiDAR 数据可以非常强大地提取城市规模的地面和物体的高程。 在 One Concern&#xff0c;我们正在使用 LiDAR 数据提取地面和建筑物高程&#xff0c;以改进进入我们的自然灾害模型的暴露信息&#xff0c;最终估计洪水和地震的影响。 由于 3DEP 项目预计将在 2023 年之前收集全…

STM32------GPIO

GPIO 一、介绍 1、1 什么是GPIO&#xff1f; 输入输出端口 1、2 GPIO特点 1、不同封装IO数量不一样。 2、快速翻转&#xff0c;每次翻转最快只需要两个时钟周期。 3、每个IO都可以做中断。 4、支持8种工作模式。 1、3 GPIO电气特性 STM32工作电压范围&#xff1a;2~3…

【C进阶】通讯录的实现(静态+动态)

目录 前言: 一.静态通讯录的实现 1.关于通讯录的前期准备 (1)菜单的打印 (2)建立一个联系人的信息 (3)通讯录整体 (4)宏定义常量 (5)主函数菜单选项的功能 2.通讯录的功能实现 (1)初始化通讯录 (2)增加指定联系人 (3) 展示通讯录 "FindByName函数" (4)删…

Autosar 规范接口之SPI

Autosar SPI 概述&#xff08;Specification of SPI Handler/Driver &#xff09; 基础知识介绍 在AutoSar标准中&#xff0c;与SPI通讯相关的三个术语&#xff1a;Channel、Job和Sequence。 1个Channel对应1个发送缓冲区和1接收缓冲区&#xff1b;1个Job对应着1次SPI通讯发送…