正点原子[第三期]Arm(iMX6U)Linux系统移植和根文件系统构建-5.3 xxx_defconfig过程

news/2025/2/21 7:55:33

前言:

本文是根据哔哩哔哩网站上“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的执行过程,


http://www.niftyadmin.cn/n/5860493.html

相关文章

stm32mp集成swupdateOTA升级

在STM32MP257上集成swupdate实现OTA(Over-The-Air)更新需要结合硬件分区管理、系统镜像构建和swupdate配置。以下是具体步骤和关键点: 1. 分区设计与闪存布局调整 STM32MP257的启动流程依赖ROM Code加载FSBL(First Stage Boot Lo…

Java集合框架之ArrayList解析

目录 一、ArrayList概述 二、优缺点分析 三、底层数据结构 四、源码分析ArrayList初始化容量 五、源码分析ArrayList扩容策略 六、ArrayList集合源码分析 1. 属性分析 2. 构造方法分析 无参构造方法 指定初始容量的构造方法 传入集合的构造方法 3. 添加元素 add(E…

测绘未来3-5年的发展

一、行业现状评价 1.1竞争格局多元化 传统测绘企业(如超图软件、航天宏图)与新兴技术企业(如无人机测绘服务商)共同竞争,同时互联网巨头(百度、高德)跨界布局,进一步加剧市场分化。2024年多家头部企业净利润大幅下滑,反映出行业盈利压力与转型紧迫性。 1.2.技术门…

处理哈希冲突

有时候哈希表⽆论选择什么哈希函数都⽆法避免冲突,那么插⼊数据时,如何解决冲突呢?主要两种⽅法,线性探测法和链地址法,这篇先做原理描述,下篇实现代码模拟 一、线性探测 发生冲突的位置开始,依…

常用的性能优化方法和技巧

常用的性能优化方法和技巧 前端性能优化 减少HTTP请求:就好比你去超市买东西,每次请求就像你跑一趟超市。去的次数越多,花在路上的时间就越多。所以把多个小的资源,像图片、脚本这些,合并成一个大的,就能…

#渗透测试#批量漏洞挖掘#畅捷通T+远程命令执行漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 一、漏洞概况 二、攻击特征 三、应急处置…

selenium爬取苏宁易购平台某产品的评论

目录 selenium的介绍 1、 selenium是什么? 2、selenium的工作原理 3、如何使用selenium? webdriver浏览器驱动设置 关键步骤 代码 运行结果 注意事项 selenium的介绍 1、 selenium是什么? 用于Web应用程序测试的工具。可以驱动浏览…

详解同为科技桌面PDU系列产品特点

同为科技的桌面PDU系列产品是依据自身在电气联接领域25年专业积累并精心设计,产品采用模块化结构,实现各种功能、输出插口、输入方式可根据用户需求以模块组合的方式构建定制化产品。 桌面PDU产品特点 工业级材质和结构设计 桌面PDU系列产品采用一体成…