This is my study note of Kconfig.

整体结构

1
2
3
4
5
6
7
meau "MenuName"
comment "describe message"
config Option name
bool xxx
depends on xxx
select xxx
help
  • meau:用于生成菜单
  • comment: 用于生成帮助信息
  • config: 表示一个配置选项的开始,“Option name”代表选项名字
  • bool:变量类型,总共有五种类型:bool、tristate、string、hex和int
    1
    2
    3
    4
    5
    bool变量的值为:y和n
    tritate的值为:y、n和m
    string变量的值:字符串
    hex:取值为十六进制数据
    int:取值为十进制数据
  • range:表示变量的输入范围
    1
    2
    range 2 32
    表示只能输入2~32之间的数据,超出会报错
  • default:为变量的默认值
  • prompt:输入提示
    1
    2
    promt "xxxx" if option
    表示当前config "xxxx"提示依赖option
  • depends on:表示该选项依赖于xxx
    1
    只有xxxx配置选项被选中时,当前配置的提示信息才会出现,才能进行配置
  • select: 反向依赖关系
    1
    当前配置选项被选中,xxx就会被选中
  • help:帮助信息
  • choice:多个类似的配置选项组合在一起
    1
    2
    3
    4
    5
    6
    7
    8
    9
    choice
    prompt "xxxx"
    default y or n
    config xxx
    ...
    config xxx
    ...
    endchoice
    choice条目将多个类似的配置选项组合在一起,供用户单选或者多选,只有bool或者tristate。
  • source:引入子目录Kconfig
    1
    source "drivers/aamenutest/Kconfig"