本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!
↓↓↓通过下方对话框进入专栏目录页↓↓↓
CSDN 请求进入目录 _ O x
是否进入ESP32教学导航(基于ESP-IDF)?
确定
一、组件配置涉及的文件简介
1、为什么要用组件配置
- 组件配置可以将相关配置常量移出代码,增强配置的可复用度
- 组件配置变量也可以被CMake访问,可以通过手写逻辑实现根据配置执行不同的构建方案。(如某个源文件要不要添加到构建系统)
- 组件配置生成的宏定义,配合C语言的预处理语句,可以针对不同的配置改变代码解结构。
- 组件配置生成的宏定义在C语言中是全局的宏定义,可以在任意处访问配置项。只需要
#include "sdkconfig.h"
即可。 - ESP-IDF构建系统中的
menuconfig
与Linux Kernel的menuconfig
类似,有助于为Linux学习打下基础。
2、组件配置相关文件详解
在 ESP-IDF 构建系统中,有这么几种文件。相信读者学到现在可能已经见过其中几种了。它们分别是:
Kconfig
文件Kconfig.projbuild
文件sdkconfig
文件- C语言头文件
sdkconfig.h
sdkconfig.default
文件sdkconfig.old
文件sdkconfig.ci
文件sdkconfig.remane
文件
sdkconfig.default
文件还可以针对某种设备单独添加,例如:
对于ESP32
和ESP32-S3
,则分别对应sdkconfig.default.esp32
和sdkconfig.default.esp32s3
。
这几个文件都与“组件
”的配置有关。在详细讲解组件配置之前,我们先分别用一句话概括这几个文件的作用分别是什么:
文件 | 位置 | 作用 | 概括 |
---|---|---|---|
Kconfig |
组件目录 【手动创建】 |
用于生成menuconfig 中的菜单于Component Configuration 子菜单 |
菜单模板 |
Kconfig.projbuild |
组件目录 【手动创建】 |
用于生成menuconfig 中的菜单于顶层菜单 |
菜单模板 |
sdkconfig |
项目根目录 【自动生成】 |
用于以键值对的形式保存Kconfi |