Kcnfig关键字总结
1、config——配置项
可以定义一行配置选项
config MENU_2_1_CONFIG_1 #二级菜单(1)的选项1
bool "MENU_2_1_CONFIG_1" #bool类型(y/n),跟着提示信息
select MENU_2_1_CONFIG_2 #本条件选中则选中条件 MENU_2_1_CONFIG_2
select MENU_2_1_CONFIG_4 #本条件选中则选中条件 MENU_2_1_CONFIG_4
default y #bool默认值为y
2、menuconfig——菜单配置项
可以定义一行配置选项,并且子选项会显示在子页面
menuconfig Level_2-5_menu #二级菜单(5)开始
bool "Level 2-5 menuconfig"
default n
if Level_2-5_menu
config MENU_2_5_CONFIG_1 #选项1
bool "MENU_2_5_CONFIG_1"
default n #bool默认值为n
config MENU_2_5_CONFIG_2 #选项2
bool "MENU_2_5_CONFIG_2"
default y #bool默认值为n
endif
3、choice——单选配置项
选在子页面显示,以choice开头,endchoice结尾
choice
prompt "choice name" #配置项的显示名称
default OPTION_2 #默认选择的配置
config OPTION_1 #选项1
bool "OPTION_1"
config OPTION_2 #选项2
bool "OPTION_2"
config OPTION_3 #选项3
bool "OPTION_3"
config OPTION_4 #选项4
bool #没带提示信息的条件类型不会现实
endchoice
4、comment——注释
显示一行注释信息
comment "you choose MENU_2_4_CONFIG_1 !!" #打印注释信息
5、menu endmenu——菜单
子内容会在子页面显示,要以menu开头endmenu结尾
menu "Level 2-4 menu" #二级菜单(4)开始
config MENU_2_4_CONFIG_1 #二级菜单(4)的选项1
bool "MENU_2_4_CONFIG_1" #bool类型(y/n),跟着提示信息
default n #bool默认值为n
if MENU_2_4_CONFIG_1 #如果 选项(MENU_2_4_CONFIG_1)被选中
comment "you choose MENU_2_4_CONFIG_1 !!" #打印注释信息
endif
endmenu #二级菜单(4)结束
6、if——判断
后面跟着选项名,就是当该选项被选中时成立
if MENU_2_4_CONFIG_1 #如果 选项(MENU_2_4_CONFIG_1)被选中
comment "you choose MENU_2_4_CONFIG_1 !!" #打印注释信息
endif
7、source——读取其他的配置文件
类似include
source "drivers/test/Kconfig"
8、select——选中指定选项
后面可以跟着已经定义了的配置选项,一般用作如果XXX选项被选中则选中YYY选项
config MENU_2_1_CONFIG_1 #二级菜单(1)的选项1
bool "MENU_2_1_CONFIG_1" #bool类型(y/n),跟着提示信息
select MENU_2_1_CONFIG_2 #本条件选中则选中条件 MENU_2_1_CONFIG_2
select MENU_2_1_CONFIG_4 #本条件选中则选中条件 MENU_2_1_CONFIG_4
default y #bool默认值为y
9、depends on——依赖于XXX选项
如果依赖的选项被选中了,则当前的选项才会显示,是连带关系,类似于子选项
如果MENU_2_1_CONFIG_2被选中,则MENU_2_1_CONFIG_3才会显示。
depand on功能也可以使用if替代使用。
config MENU_2_1_CONFIG_2 #二级菜单(1)的选项2
bool "MENU_2_1_CONFIG_2" #bool类型(y/n),跟着提示信息
default n #bool默认值为n
config MENU_2_1_CONFIG_3 #二级菜单(1)的选项3
bool "MENU_2_1_CONFIG_3" #bool类型(y/n),跟着提示信息
depends on MENU_2_1_CONFIG_2 #当条件 MENU_2_1_CONFIG_2 被选中时,本条件才显示
default y #bool默认值为y
10、选项类型
bool:布尔类型,可选参数(y/n)
tristate三态:内建、模块、移除,可选参数(y/m/n)
string:字符串,可填任意字符串内容
hex:十六进制,可填任意16进制数值
int:整型,可填任意10进制数值