Windows系统上实现Menuconfig和Kconfig配置方法,并生成config.h文件

参考链接:
https://blog.csdn.net/wenbo13579/article/details/127464764
https://blog.csdn.net/qq_33229007/article/details/129340204

Menuconfig配置方法

  • 通过可视化界面生成 .config 配置文件
  • 编译时,通过 .config 配置文件生成 config.h 头文件,通过其中的宏定义来灵活控制功能模块的引入和参数配置

一、windows环境依赖包安装

windows环境需要安装python、pip工具,再安装以下依赖包:

> pip install windows-curses
 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple kconfiglib

二、创建Kconfig文件

在文件夹下创建Kconfig文件,填入所需配置项。以下为示例(具体语法查看顶部的参考链接):

config KCONFIG_DEMO_ITEM1
    bool
    prompt "demonstate item1 for bool learning"

config KCONFIG_DEMO_ITEM2
    string
    prompt "demonstate item2 for string learning"

config KCONFIG_DEMO_ITEM3
    hex
    prompt "demonstate item3 for hex learning"

menuconfig KCONFIG_DEMO_MENUCONFIG1
    bool
    prompt "menuconfig learning"

if KCONFIG_DEMO_MENUCONFIG1

config MENUCONFIG_SUBITEM1
    bool
    prompt "menuconfig subitem1"

config MENUCONFIG_SUBITEM2
    bool
    prompt "menuconfig subitem2"

endif

menu "menu learning"

config MENU_SUBITEM1
        bool
        prompt "subitem1"

config MENU_SUBITEM2
        bool
        prompt "subitem2"

config MENU_SUBITEM3
        bool
        prompt "subitem3"

endmenu



choice 
        bool
        prompt "choice learning"

config CHOICE_ITEM1
        bool
        prompt "choice1"

config CHOICE_ITEM2
        bool
        prompt "choice2"

config CHOICE_ITEM3
        bool
        prompt "choice3"
endchoice


config MY_CONFIG1
        bool
        prompt "my config1"

config MY_CONFIG2
        bool
        prompt "my config2" if MY_CONFIG1

config MY_CONFIG3
        bool
        prompt "my config3"
        depends on MY_CONFIG2

三、调用Menuconfig可视化界面,设置配置项

  • 打开powershell,并且cd定位到当前Kconfig文件的目录
  • 输入menuconfig,打开可视化界面进行配置
  • 配置完成后,按S键保存,退出
  • 当前目录就会生成 .config 文件,保存了刚刚的设置方法
menuconfig

在这里插入图片描述

四、生成config.h配置文件

  • 在.config目录下,调用genconfig.py脚本,脚本路径根据实际安装位置修改
  • 生成config.h文件,里面包含通过界面设置的宏定义
python C:\Programs\Python\Python38-32\Lib\site-packages\genconfig.py

config.h文件,示例内容如下:

#define CONFIG_KCONFIG_DEMO_ITEM1 1
#define CONFIG_KCONFIG_DEMO_ITEM2 "hello"
#define CONFIG_KCONFIG_DEMO_ITEM3 0xAB
#define CONFIG_KCONFIG_DEMO_MENUCONFIG1 1
#define CONFIG_CHOICE_ITEM1 1
#define CONFIG_MY_CONFIG1 1

五、注意

  • 上述方法实际上调用了kconfiglib中的接口,生成简单的config.h文件
  • 如果需要在config.h中生成丰富的配置注释等内容,应该可以配置其它命令参数,后续再研究
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值