news 2026/3/5 20:41:33

ESP-IDF组件编译规则

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESP-IDF组件编译规则

简单来说就是esp-idf的构建系统会自动编译components(名称固定)文件夹下面的CMakeLists.txt,通过CMake将组件放到项目中,优先编译我们创建项目中的components文件夹下的CMakeList.txt,然后在编译esp-idf架构中的components文件夹,我们自己创建的组件优先级大于esp-idf架构组件的优先级。

每次构建时,组件注册的核心作用就是告诉项目头文件路径、依赖库位置、链接规则,让项目能找到并调用组件功能;

代码编译分为两部分 —— 你的项目代码每次变更都会重新编译,ESP-IDF 内置组件或自定义组件的源码只要没改,就会直接复用之前的编译产物,不用重复编译,前提是都需要编译一次

先构建,把那些需要的驱动库都加载到项目里,在进行编译,我们用了那些组件,都需要在CMakeList.txt文件中写出来。

  • 构建启动后,先执行组件注册:按 “项目自定义components> ESP-IDF 内置components” 的优先级扫描所有组件,读取CMakeLists.txt,确定头文件路径、依赖关系、库文件位置,让项目 “认识” 所有可用组件。
  • 接着,构建系统会分析项目代码的依赖,识别出项目实际用到的组件,再执行编译:首次构建时,项目代码和所有被依赖的组件会全部编译;后续构建时,只有变更过的代码或组件会重新编译,未变更的直接复用旧产物。

main组件依赖所有组件,不需要声明,可以直接引用.h文件,其余我们创建的组件都需要先声明,在进行.h引用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/5 9:57:06

LCR测试仪与阻抗分析仪的区别分析

在电子元器件测试领域,LCR测试仪与阻抗分析仪是两种常用于测量电感(L)、电容(C)和电阻(R)等参数的精密仪器。尽管二者在功能上存在交集,但其设计定位、技术能力与应用场景存在显著差…

作者头像 李华
网站建设 2026/3/1 7:16:04

一文带你了解最吃香的金融类软件测试(附面试文档)

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没…

作者头像 李华
网站建设 2026/3/4 0:57:58

基于SpringBoot的智能旅游行程规划系统的设计与实现

背景分析随着旅游业的快速发展和个性化需求的增长,传统旅游行程规划方式存在信息碎片化、效率低下等问题。游客需要手动整合交通、住宿、景点等数据,耗时且难以优化。SpringBoot作为轻量级Java框架,具备快速开发、微服务支持等优势&#xff0…

作者头像 李华
网站建设 2026/3/5 13:57:30

Shell语言的基础知识介绍 - Git bash

Git Bash不是一个独立的编程语言,而是把Bash环境移植到Windows的工具。这意味着Git Bash使用的语言就是标准的Bash shell脚本语言,只是运行环境不同。 我打算先明确Git Bash的本质,然后按照要求的分类详细解释。虽然基础语言是Bash&#xff0…

作者头像 李华