uboot 顶层Makefile-make xxx_deconfig过程说明三

一. uboot 的 make xxx_deconfig配置

本文接上一篇文章的内容。地址如下:uboot 顶层Makefile-make xxx_deconfig过程说明二_凌肖战的博客-CSDN博客

本文继续来学习 uboot 源码在执行 make xxx_deconfig 这个配置过程中,顶层 Makefile有关的执行思路。

uboot执行配置过程时,执行了两条关键命令。本文分析第二条命令:

    make -f ./scripts/Makefile.build obj=scripts/kconfig xxx_defconfig

二. %config目标对应的命令

%config 目 标 对 应 的 命 令 为 :
    make -f ./scripts/Makefile.build obj=scripts/kconfig xxx_defconfig

同上一篇文章类似分析。各个变量值如下:

src= scripts/kconfig
kbuild-dir = ./scripts/kconfig
kbuild-file = ./scripts/kconfig/Makefile
include ./scripts/kconfig/Makefile

可以看出, Makefilke.build 会读取 scripts/kconfig/Makefile 中的内容,此文件有如下所示内
容:
113 %_defconfig: $(obj)/conf
114 $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ 
$(Kconfig)
115
116 # Added for U-Boot (backward compatibility)
117 %_config: %_defconfig
118 @:
目标 %_defconfig 刚好和我们输入的 xxx_defconfig 匹配,所以,会执行这条规则。
依赖为 $(obj)/conf ,展开后就是 scripts/kconfig/conf
接下来,就是检查并生成依赖 scripts/kconfig/conf
conf 是主机软件,到这里我们就不要纠结 conf 是怎么编译出来的, conf 这种主机所使用的工具类软件我们一般不关心它是如何编译产生的。
得到 scripts/kconfig/conf 以后,就要执行目标 %_defconfig 的命令:
$(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)

其中,变量值为:

silent=-s 或为空
SRCARCH=..
Kconfig=Kconfig

目标 %_defconfig 的命令,展开后:
 @scripts/kconfig/conf --defconfig=arch/../configs/xxx_defconfig Kconfig
上述命令用到了 xxx_defconfig 文件,比如 mx6ull_alientek_nand_defconfig 。这里会将
mx6ull_alientek_emmc_defconfig 中的配置输出到 .config 文件中,最终生成 uboot 根目录下
.config 文件。

三.  uboot的make xxx_deconfig 总结

这个就是uboot配置命令 make xxx_defconfig 执行流程,总体执行思路如下:

至此,uboot配置命令 make xxx_defconfig对应,顶层Makefile大体思路 就分析完了,接下来就要分析一下 u-boot.bin 是怎么生成的了。

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

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

相关文章

spring boot+redis整合基础入门

文章目录 前言准备依赖项配置文件redis模板类注入设置序列化方式 实施基础字符串操作、超时设置Hash操作hash的使用场景以及优缺点 列表操作列表操作的应用场景以及优缺点 Set的基础操作Set类型的业务场景以及优缺点Demo地址 总结 前言 最近项目中有用到redis进行一些数据的缓…

导数公式及求导法则

目录 基本初等函数的导数公式 求导法则 有理运算法则 复合函数求导法 隐函数求导法 反函数求导法 参数方程求导法 对数求导法 基本初等函数的导数公式 基本初等函数的导数公式包括&#xff1a; C0(x^n)nx^(n-1)(a^x)a^x*lna(e^x)e^x(loga(x))1/(xlna)(lnx)1/x(sinx)cos…

Python---数据容器分类及通用操作

数据容器可以从以下视角进行简单的分类: 是否支持下标索引&#xff1a; 支持:列表、元组、字符串 - 序列类型不支持:集合、字典 - 非序列类型 是否支持重复元素: 支持:列表、元组、字符串 - 序列类型不支持:集合、字典 - 非序列类型 是否可以修改&#xff1a; 支持:列表、…

阿里云服务器配置怎么选择?几核几G?带宽系统盘怎么选?

阿里云服务器配置选择_CPU内存/带宽/存储配置_小白指南&#xff0c;阿里云服务器配置选择方法包括云服务器类型、CPU内存、操作系统、公网带宽、系统盘存储、网络带宽选择、安全配置、监控等&#xff0c;阿小云分享阿里云服务器配置选择方法&#xff0c;选择适合自己的云服务器…

C++系列-空指针访问成员函数及野指针

C系列-空指针访问成员函数 空指针空指针访问成员函数 野指针 空指针 在变量声明的时候&#xff0c;如果没有确切的地址可以赋值&#xff0c;为指针变量赋一个 NULL 值是一个良好的编程习惯。NULL指针是没有指向任何内容的指针。赋为 NULL 值的指针被称为空指针。 在大多数的操…

用selenium webdriver获取网站cookie后,实现免登录上网站

以csdn为例&#xff0c;代码分为两部分。 一、csdn_get_cookies.py为半手动登录网站后获取cookies 二、csdn_use_cookies.py为使用获取到的cookies免登录上网站 #获取登录cookiesfrom selenium import webdriver import jsoncsdn_driver webdriver.Chrome() url "htt…

ChatGPT OpenAI 完成Excel组合函数Vlookup+match多条件查找

ChatGPT OpenAI 现在已经助力职场办公。 我们现在有这样一个Excel需求: 根据姓名与科目查找对应的分数。可以使用Vlookup+match组合函数一起来实现 。 我们将公式复制到Excel中来进行验证。 ChatGPT生成的Excel函数公式可以直接进行使用。 更多实战内容。

Android:使用命令行发现keytool不是内部命令解决办法

一、前言&#xff1a;最近在搞引入高德地图的SDK&#xff0c;发现需要给app签名打包。记录一下。 二、当我在命令行中输入keytool的时候说keytool不是内部命令 解决方案&#xff1a; 找到系统属性--------高级----------点击环境变量 双击点开 找到java\jre1.8.0_202\bin新建…

CSS3技巧36:backdrop-filter 背景滤镜

CSS3 有 filter 滤镜属性&#xff0c;能给内容&#xff0c;尤其是图片&#xff0c;添加各种滤镜效果。 filter 滤镜详见博文&#xff1a;CSS3中强大的filter(滤镜)属性_css3滤镜_stones4zd的博客-CSDN博客 后续&#xff0c;CSS3 又新增了 backdrop-filter 背景滤镜。 backdr…

SAP SD之定义装运点OVL2

什么是装运点&#xff1f; 装运点是一个独立的组织实体&#xff0c;其中进行货物的发行和交付处理。 可以为每个订单商品确定一个装运点。 确定装运点取决于以下三个因素&#xff1a; 客户主记录中的运输条款和条件&#xff08;运输屏幕&#xff09;。 例如&#xff0c;公司与…

BS EN 14323:2021 室内用三聚氰胺纸贴面木基板材检测

三聚氰胺贴面纸木基板材是指未经处理的三聚氰胺纸通过粘接或者热压的方式直接覆于木质基材表面的装饰板材&#xff0c;通常基材为刨花板&#xff0c;密度板等&#xff0c;主要用于室内。 BS EN 14323:2021 室内用三聚氰胺纸贴面木基板材测试项目 测试项目 测试方法 外观 EN…

180B参数的Falcon登顶Hugging Face,vs chatGPT 最好开源大模型使用体验

文章目录 使用地址使用体验test1:简单喜好类问题test2:知识性问题test3:开放性问题test4:中文支持test5:问题时效性test6:学术问题使用地址 https://huggingface.co/spaces/tiiuae/falcon-180b-demo 使用体验 相比Falcon-7b,Falcon-180b拥有1800亿的参数量

程序员面试逻辑题

红白帽子推理 答案&#xff1a; 这个题有点像数学归纳法&#xff0c;就是假设有 A A A和 B B B两个人是黑色的帽子&#xff0c;这样的话第一次开灯&#xff0c; A A A看到 B B B是黑色的&#xff0c;其他人都是白色的&#xff0c;那么 A A A会觉得 B B B是那个黑色的&#xff0…

第28章_瑞萨MCU零基础入门系列教程之基于面向对象的工程结构

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…

军训场E,F

E - 这题题目超短 思路&#xff1a;贪心&#xff0c;到达n的方法有很多种&#xff0c;但因为n的范围为1e9&#xff0c;所以我们不能暴力枚举&#xff0c;我们贪心的想&#xff0c;因为我们走三步肯定是比走两步能够更快的到达n&#xff0c;所以我们尽可能的去先走三步&#xf…

c刷题(四)

获得月份天数 获得月份天数_牛客题霸_牛客网 这道题可以用switch case语句解&#xff0c;不过这道题更简单的方法是数组&#xff0c;关键点在于判断是否为闰年。 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include<assert.h> int year_run(int n) …

算法-27.移除元素-⭐

给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…

自定义 spring-boot-starter 暴露钩子

自定义 spring-boot-starter 暴露钩子 1、前置工作&#xff1a;自定义一个 spring-boot-starter1.1、pom文件1.2、starter 封装的接口1.3、starter 的配置类1.4、starter 的 spring.factories 2、方法一&#xff1a;ApplicationContext 实现2.1、MyService的实现类2.2、事件类及…

@FunctionalInterface注解的作用及其运用

定义 FunctionalInterface 是Java 8引入的一个注解&#xff0c;用于标识一个接口是函数式接口。 函数式接口是Java中的一个概念&#xff0c;指的是只包含一个抽象方法的接口。在Java 8之前&#xff0c;接口中可以包含多个抽象方法&#xff0c;但是在Java 8中引入了Lambda表达式…

Golang 中的匿名变量详解

在 Golang 中&#xff0c;可以使用匿名变量来忽略不需要的返回值或占位符。匿名变量是一种特殊类型的变量&#xff0c;可以简化代码并提高可读性。本文将详细介绍匿名变量的定义、特性和使用方法。 什么是匿名变量&#xff1f; 在 Golang 中&#xff0c;匿名变量是一种没有显…