ESP-IDF的menuconfig

本文最后更新于 2024年9月6日 下午

Kconfig简介

据我现在了解到的,这是个加快工程构建的工具,同时也是一门语言,最早由linux的内核引入,还比如openwrt的工程就使用的很多
但是这个配置工具在espidf中非常简单易学,只要学会添加自己的菜单即可。

如何在idf.py menuconfig里面添加自己的菜单

在mian文件中添加Kconfig或者Kconfig.projbuild文件,

注意这个K是大写

  • Kconfig文件会在idf.py menuconfig的首页显示
  • Kconfig.projbuild文件添加的选项会在idf.py menuconfig的compontnt中显示

使用示例

如上图所展示,我在Kconfig.projbuild文件中添加了以上内容

然后使用idf.py menuconfig就可以看到多出了这个选项

里面的内容如下

这些配置的内容会在sdkconfig.k中被定义

然后就可以在工程文件中被调用

Kconfig/Kconfig.projbuild文件详解

以我wifi的配置为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
menu "AP config"
#菜单的名字
config ESP_WIFI_SSID
#这是sdkconfig.h中类型定义名字如这个在sdkconfig.h中定义为#define CONFIG_ESP_WIFI_SSID
string "WiFi SSID"
#填入参数的变量名和变量类型,字符类型
default "myssid"
#默认的参数
help
#提示
SSID (network name) for the example to connect to.

config ESP_WIFI_PASSWORD
string "WiFi Password"
default "mypassword"
help
WiFi password (WPA or WPA2) for the example to use.
config ESP_WIFI_CHANNEL
int "WiFi Channel"
#填入参数的变量名和变量类型,整型
range 1 11
#范围
default 1
#默认值
help
WiFi channel (network channel) for the example to use.

config ESP_MAX_STA_CONN
int "Maximal STA connections"
default 4
help
Max number of the STA connects to AP.

endmenu

这篇博客写的非常好Linux下menuconfig与Kconfig基础知识概要- 大窟窿


ESP-IDF的menuconfig
http://shishengmi.com/2024/06/16/2024/06/ESP-IDF的menuconfig/
作者
shishengmi
发布于
2024年6月16日
许可协议