主要参考资料
B站Up孤独的二进制《自定义菜单 Menuconfig》
ESP-IDF官方解释Kconfig: https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1/esp32/api-reference/kconfig.html#
Kconfig标准: https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html
idf.py menuconfig
根据官方说法:
简单说,我们调用idf.py menuconfig就是为了生成sdkconfig.h文件参与编译。
一些常见的文件:
sdkconfig.defaults:该文件可以手动或自动创建,且永远不会被构建系统更改。
sdkconfig.ci :该文件是 CI(持续集成)测试框架的一部分,在正常构建过程中会被忽略。
Kconfig介绍
以上功能就是基于Kconfig,而众所周知,ESP-IDF是基于Python开发环境的,所以它是调用了一个叫esp-idf-kconfig的Python包。
Kconfig使用
首先创建Kconfig.probuild文件
数值选项
以视频中点灯为例
在生成的sdkconfig中找到变量,替换程序中的#define 预定义就可以了
Kconfig格式要求
这是官网对于Kconfig格式的要求