Kconfig语法命令详解

menuconfig:表示新建(带子菜单的)菜单。菜单名字不显示在菜单中。子菜单属性继承该菜单.后面跟if enif语句,如果if成立则显示子菜单内容
menu :定义了菜单名字,必须以endmenu结束,menu后跟的名字会显示在菜单中。
config:菜单中的选项,可以用在menuconfig或menu下
choice: 将多个类似的配置选项组合在一起,供用户单选或多选,以endchoice结束。
depends on:本配置项依赖于另一个配置项,类似requires。在menuconfig中如果depends on不满足,当前菜单项则不显示
select:表示depends on的值有效时,下面的select也会成立,将相应的内容选上。
help:帮助信息,内容会显示在帮助的help选项上。
tristate:配置选项的类型三态(triple state),Y/N/M。
bool:配置选项的类型
string:配置选项的类型
hex:配置选项的类型,16进制
int:配置选项的类型
source:跟同名Linux指令一个意思
default y:  表示默认是勾上的,也可以写为default m或者default n
if ...enif: 就是if的意思,需要enif结束


如何使用Kconfig
在Linux源码根目录下执行make menuconfig,弹出Kconfig配置的菜单。Save时会在当前目录下保存.config文件,作为Makefile的一个引用在make时需调用Makefile和该文件.

值得一提的是,很多人说Kconfig顶层文件是arch/arm/Kconfig,这一说话欠妥当的。
Kconfig顶层就是源码根目录下Kconfig,否则在当前目录下make menuconfig也就失效了,在这个Kconfig文件内source "arch/$SRCARCH/Kconfig"。而在嵌入式开发板系统内$SRCARCH被设置为arm,第二层就是调用arch/arm/Kconfig。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kconfig文件的语法比较简单,主要由以下几个部分组成: 1. 菜单:用menu关键字定义,表示一个配置菜单,通常包含多个子选项。 2. 子菜单:用menuconfigconfig关键字定义,表示一个子菜单,也可以包含多个子选项。 3. 选项:用config关键字定义,表示一个配置选项,通常包括选项名、类型、默认值、帮助信息等。 4. 依赖关系:用depends on关键字定义,表示一个选项的依赖关系,当依赖的选项被选择时,该选项才会被编译进内核。 5. 选项值:用bool、tristate、string、int等关键字定义,表示选项的类型和取值范围。 下面是一个简单的Kconfig文件示例: ``` menu "My Kernel Configuration" config MY_OPTION bool "Enable My Option" default y help This option enables my custom feature. config MY_STRING string "My String Option" default "Hello World" help This option sets my custom string. config MY_INT int "My Integer Option" default 10 help This option sets my custom integer. config MY_DEPENDENCY bool "Enable My Dependency" depends on MY_OPTION default y help This option enables my dependency. endmenu ``` 在该示例中,使用menu定义了一个配置菜单“My Kernel Configuration”,包括了四个选项:MY_OPTION、MY_STRING、MY_INT和MY_DEPENDENCY。其中,MY_OPTION是一个bool类型的选项,表示是否启用自定义功能;MY_STRING是一个string类型的选项,表示自定义字符串;MY_INT是一个int类型的选项,表示自定义整数;MY_DEPENDENCY是一个bool类型的选项,表示是否启用依赖项MY_OPTION。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值