正点原子[第三期]Arm(iMX6U)Linux系统移植和根文件系统构建-5.3 xxx_defconfig过程
前言:
本文是根据哔哩哔哩网站上“arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
引用:
正点原子IMX6U仓库 (GuangzhouXingyi) - Gitee.com
《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.2.pdf》
正点原子资料下载中心 — 正点原子资料下载中心 1.0.0 文档
正点原子imx6ull-mini-Linux驱动之Linux I2C 驱动实验(21)-CSDN博客
正文:
本文是 “Arm(iMX6U)Linux系统移植和根文件系统构键篇--5.3讲u-boot顶层Makefile里 xxx_defconfig的执行过程分析实验。本节将参考正点原子的视频教程和配套的正点原子开发指南文档进行学习。
0. 概述

1.U-boot顶层Makefile里 xxx_defconfig的执行过程
1.1 u-boot编译步骤
编译u-boot时三个步骤
make ARCH=arm distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxx_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j 8
第一条命令 'make distclean' 清理所有的上一次编译生成中间文件,把项目目录清理干净。
第二条命令 'make xxx_defconfig' ,针对开发板硬件型号进行配置,例如,配置指令集,配置cpu型号,配置开发板,配置开发板外围硬件等,最后在 u-boot目录下生成 '.config' 配置文件。
第三条命令‘make -j 8' 指定使用多个8线程编译出uboot,这一步编译u-boot的时引用上面生成的 ".config" 配置文件,根据配置来编译源码。
正点原子的本视频小节,通过 u-boot/ 目录下的顶层Makefile文件
u-boot/Makefile
来分析编译时的第二条命令生成配置文件 'xxx_deconfig' 的执行过程。
make xxx_defconfig
1.2 u-boot 顶层Makefile执行 xxx_deconfig 过程
在u-boot顶层Makefile(u-boot/Makefile,以下提到uboot顶层Makefile都是指这一个文件)中有如下的 Target,使用makefile语法中的通配符 "%","%config" 目标匹配所有的 ’make xxxconfig' 的make命令。

%config:
使用Makefile语法中的通配符 "%", "%config"匹配了所有的 "xxxconfig"的make编译目标,当然我们执行的 'make xxx_defconfig‘ 编译目标也匹配 uboot顶层Makefile中的这一个目标target,执行uboot顶层makefile里的依赖关系和编译命令。
config: scripts_basic outputmakefile FORCE$(Q)$(MAKE) $(build)=scripts/kconfig $@%config: scripts_basic outputmakefile FORCE$(Q)$(MAKE) $(build)=scripts/kconfig $@
从uboot顶层Makefile看到,执行 "xxx_defconfig"命令时,"xxx_defconfig"目标依赖于两个前置依赖,”scripts_basic"和"outputmakefile"。(FORCE是makefile的一个惯常的使用方法,使用FORCE表明依赖于FORCE的目标在makef中总是执行。)
config: scripts_basic outputmakefile FORCE
接下来分析一下 ”scripts_basic"和"outputmakefile" 在 uboot顶层makefile的执行过程,
相关文章:
正点原子[第三期]Arm(iMX6U)Linux系统移植和根文件系统构建-5.3 xxx_defconfig过程
前言: 本文是根据哔哩哔哩网站上“arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用: …...
250223-Linux/MacOS如何跳过Miniconda的条款阅读,直接安装Miniconda
你可以通过将 -b 参数传递给 Miniconda 的安装脚本,来跳过条款阅读并自动同意许可条款。这样安装会自动进行到下一步的选择项。下面是具体的安装命令: bash Miniconda3-latest-Linux-x86_64.sh -b这里的 -b 代表“批量模式”(batch mode&…...
点云的几何特征
点云的几何特征是基于一个点周围的邻域对该点周围几何形状的描述。例如,位于墙面上的一个点将具有较高的平面度planarity。 基于局部点云的特征值 λ1、λ2 和 λ3 以及特征向量 e1、e2 和e3计算得到的一系列几何特征,这些特征用于描述点云中点的局部几…...
月之暗面新发布: MUON 在 LLM 训练中的可扩展性
MUON 在 LLM 训练中的可扩展性 摘要 最近,基于矩阵正交化的 Muon 优化器(K. Jordan 等人,2024 年)在训练小型语言模型方面表现出色,但其在更大规模模型上的可扩展性尚未得到验证。我们确定了 Muon 放大的两个关键技术…...
10.Docker 仓库管理
Docker 仓库管理 Docker 仓库管理 Docker 仓库管理 Docker 仓库,类似于 yum 仓库,是用来保存镜像的仓库。为了方便的管理和使用 docker 镜像,可以将镜像集中保存至 Docker 仓库中,将制作好的镜像 push 到仓库集中保存,在需要镜像…...
Deepseek存算分离安全部署手册
Deepseek大火后,很多文章教大家部署Dfiy和ollamadeepseek,但是大部分都忽略了数据安全问题,本文重点介绍Deepseek存算分裂安全架设,GPU云主机只负责计算、CPU本地主机负责数据存储,确保数据不上云,保证私有…...
【Redis原理】底层数据结构 五种数据类型
文章目录 动态字符串SDS(simple dynamic string )SDS结构定义SDS动态扩容 IntSetIntSet 结构定义IntSet的升级 DictDict结构定义Dict的扩容Dict的收缩Dict 的rehash ZipListZipListEntryencoding 编码字符串整数 ZipList的连锁更新问题 QuickListQuickList源码 SkipListRedisOb…...
Java——抽象类
在Java中,抽象类(Abstract Class) 是一种特殊的类,用于定义部分实现的类结构,同时允许子类提供具体的实现。抽象类通常用于定义通用的行为或属性,而将具体的实现细节留给子类。 1. 抽象类的定义 语法&…...
DeepSeek在初创企业、教育和数字营销领域应用思考
如今,像 DeepSeek 这样的人工智能工具正在改变企业的运营方式,优化流程并显著提高生产力。通过重复任务的自动化、大量数据的分析以及内容创建效率的提高,组织正在寻找新的竞争和卓越方式。本文介绍了 DeepSeek 如何用于提高三个关键领域的生…...
java开发——为什么要使用动态代理?
举个例子:假如有一个杀手专杀男的,不杀女的。代码如下: public interface Killer {void kill(String name, String sex);void watch(String name); }public class ManKiller implements Killer {Overridepublic void kill(String name, Stri…...
c++中,什么时候应该使用mutable关键字?
在 C 中,mutable 关键字用于修饰类的成员变量,允许在 const 成员函数中修改这些变量。它的核心作用是区分 物理常量性(对象内存不可修改)和 逻辑常量性(对象对外表现的状态不变)。以下是详细解析࿱…...
deepseek本地部署,ragflow,docker
先下载ollama 1.官网下载 deepseek-r1:14bhttps://ollama.com/library/deepseek-r1:14b 2.GitHub下载GitHub - ollama/ollama: Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 2, and other large language models. 两种方式 安装完后,cmd-&g…...
智能优化算法:莲花算法(Lotus flower algorithm,LFA)介绍,提供MATLAB代码
一、 莲花算法 1.1 算法原理 莲花算法(Lotus flower algorithm,LFA)是一种受自然启发的优化算法,其灵感来源于莲花的自清洁特性和授粉过程。莲花的自清洁特性,即所谓的“莲花效应”,是由其叶片表面的微纳…...
通过AI辅助生成PPT (by quqi99)
作者:张华 发表于:2025-02-23 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明(http://blog.csdn.net/quqi99) 问题 媳妇需要将一个pdf文件中的某些部分做成PPT课件,我在想是…...
P9631 [ICPC 2020 Nanjing R] Just Another Game of Stones Solution
Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1,a2,⋯,an),有 m m m 个操作分两种: chmax ( l , r , k ) \operatorname{chmax}(l,r,k) chmax(l,r,k):对每个 i ∈ [ l , r ] i \in [l,r] i∈[l,…...
nodejs:vue 3 + vite 作为前端,将 html 填入<iframe>,在线查询英汉词典
向 doubao.com/chat/ 提问: node.js js-mdict 作为后端,vue 3 vite 作为前端,编写在线查询英汉词典 后端部分(express js-mdict ) 详见上一篇:nodejs:express js-mdict 作为后端ÿ…...
QEMU源码全解析 —— 内存虚拟化(18)
接前一篇文章:QEMU源码全解析 —— 内存虚拟化(17) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 QEMU内存管理模型...
Spring Boot 日志管理(官网文档解读)
摘要 本篇文章详细介绍了SpringBoot 日志管理相关的内容,文章主要参考官网文章的描述内容,并在其基础上进行一定的总结和拓展,以方便学习Spring Boot 的小伙伴能快速掌握Spring Boot 日志管理相关的内容。 日志实现方式 Sping Boot 的日志管…...
MATLAB进阶之路:数据导入与处理
在MATLAB的学习旅程中,我们已经初步了解了它的基础操作。如今,我们将沿着这条充满惊喜的道路,迈向下一个重要的站点——数据导入与处理。这部分内容就像是为MATLAB注入了强大的能量,使其能够从现实的数据世界中汲取信息,然后像一位智慧的魔法师一样,巧妙地处理这些数据,…...
fcntl()函数的概念和使用案例 c语言
在 Linux 系统编程中,fcntl() 函数(File Control)是用于操作文件描述符的核心函数,可控制文件或套接字的底层属性。它支持多种操作,包括设置非阻塞模式、获取/设置文件状态标志、管理文件锁等。以下是详细概念和使用案…...
MATLAB R2022b新功能实测:用stem函数直接画表格数据,效率提升不止一点点
MATLAB R2022b新功能实测:用stem函数直接画表格数据,效率提升不止一点点 如果你经常用MATLAB处理表格或时间序列数据,R2022b版本带来的stem函数升级绝对值得你立刻升级。这次更新彻底改变了我们处理结构化数据可视化的方式——现在可以直接对…...
镜像供应链攻击频发,你还在跳过签名验证?27个必须执行的Docker签名验证步骤,现在不看明天被黑
第一章:镜像供应链攻击的现状与签名验证的生死线 近年来,容器镜像供应链攻击呈爆发式增长。攻击者不再直接入侵运行时环境,而是将恶意代码注入构建阶段——篡改基础镜像、劫持CI/CD流水线、伪造Docker Hub账号上传带后门的镜像。2023年CNCF报…...
FigmaCN:让中文设计师无障碍使用Figma的界面本地化解决方案
FigmaCN:让中文设计师无障碍使用Figma的界面本地化解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾因为Figma的全英文界面而感到困扰?对于母语为…...
掌握IEC 61850通信协议:libiec61850开源库的完整入门指南
掌握IEC 61850通信协议:libiec61850开源库的完整入门指南 【免费下载链接】libiec61850 Official repository for libIEC61850, the open-source library for the IEC 61850 protocols 项目地址: https://gitcode.com/gh_mirrors/li/libiec61850 libiec61850…...
避坑指南:Smart3D照片建模从导入到生成的5个关键设置(CC 10.16版)
Smart3D照片建模高阶避坑手册:CC 10.16版核心参数全解析 当你在深夜盯着屏幕上第7次空三计算失败的红色报错提示时,是否怀疑过那些被默认参数掩盖的关键设置?这不是又一篇照本宣科的软件教程,而是一位经历过237次建模失败的工程师…...
FPGA图像缩放方案选型指南:HLS双线性插值 vs. 纯逻辑VGA时序方案,哪个更适合你?
FPGA图像处理方案深度对比:HLS与纯逻辑设计的工程实践指南 在嵌入式视觉系统开发中,图像缩放是一个常见但极具挑战性的需求。当工程师面对FPGA平台时,往往需要在HLS(高层次综合)方案与传统纯逻辑设计之间做出选择。这两…...
Navicat重置试用期终极指南:3种方法彻底解决14天限制
Navicat重置试用期终极指南:3种方法彻底解决14天限制 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为Navic…...
从一个小D触发器开始:手把手带你用Quartus Prime Power Analyzer完成你的第一个芯片功耗评估报告
从D触发器到功耗分析:Quartus Prime Power Analyzer实战指南 在FPGA设计流程中,功耗分析往往是被初学者忽视却又至关重要的一环。想象一下,你精心设计的电路在仿真时表现完美,但实际部署后却因为功耗问题导致发热严重或电池续航大…...
如何快速掌握Figma中文界面:3分钟完成安装的完整指南
如何快速掌握Figma中文界面:3分钟完成安装的完整指南 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾经面对全英文的Figma界面感到无从下手?作为设计师&…...
Adobe-GenP 3.0终极指南:三步解锁Adobe全家桶的完整教程
Adobe-GenP 3.0终极指南:三步解锁Adobe全家桶的完整教程 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 你是否曾经面对Adobe Creative Cloud高昂的订阅…...
