menuconfig 语法

menuconfig 语法menuconfig语法在Kconfig中定义的配置宏,前缀都没有CONFIG_,只有编译内核时,自动生成autoconf.h才会出现前缀.如果XX_defconfig板卡配置文件中定义新的宏=y时,而在Kconfig并没有声明它,则内核编译出来的autoconf.h里也不会定义它的.如果XX_defconfig板卡配置文件中没有设置CONFIG_MODULES=y则编译makemodules时将会失败,而m

大家好,又见面了,我是你们的朋友全栈君。


  • Kconfig 中定义的配置宏,前缀都没有 CONFIG_ ,只有编译内核时,自动生成 autoconf.h 才会出现前缀.
  • 如果 XX_defconfig 板卡配置文件中定义新的宏=y 时,而在 Kconfig 并没有声明它,则内核编译出来的 autoconf.h 里也不会定义它的.
  • 如果 XX_defconfig 板卡配置文件中没有设置 CONFIG_MODULES=y 则编译make modules时将会失败,而 make menuconfig 时, Kconfig 中的 tristate 参数也会被读写为 bool 参数(也就是不能设置m)
名词 说明
config 一个选项
default 默认配置项
help help 提示信息专用
prompt 提示信息
comment 相当于一行说明
choice 单选框, choice 中的 config 参数只能b ool 或 tristate
endchoice choice 配对使用
depends on 依赖项
select 反依赖项
range 数据范围 range 0 100 表述数据范围 0~100
if 判断
endif if 配对使用
menu 进入下个界面的菜单, 点击Enter键就能够进入这个menu所对应的界面
endmenu 与menu配对使用
menuconfig 可选的菜单,先择它,它就相当于成了

类型

类型
bool y – 默认选中
n – 默认不选
tristate y – 将驱动编译进内核镜像
n – 不编译
m – 将驱动编译为ko形式
string 普通字符串类型
hex 十六进制形式
int 十进制整数
  • prompt 配置项的提示
  • default 表示默认值

基本的类型

config AAA
    bool "config AAA"
    default y
config BB
    int "config BB"
    default 123
config CC
    string "config CC"
    default 123
config DD
    hex "config DD"
    default 0x123
config EE
    tristate "config EE"
    default y
  • 因为我的 tristate 没有启用, 所以为默认为了 bool 类型
    menuconfig 语法

备注 : 如果 退格 不能删除 请使用 Ctrl + 退格


menu

menu "this is menu info"
comment "*** menu config ***"
config AAA
    bool "config AAA"
    default y
config BBB
    bool "config BBB"
    default n
config CCC
    bool "config CCC"
    default n
endmenu

menuconfig 语法


menuconfig

comment "*** menuconfig config ***"
menuconfig AAA
    bool "using AAA"
if AAA
config BBB
    bool "using BBB"
    default y
endif

menuconfig 语法


select

config AAA
    bool "config AAA"
    select BBB          # AAA 被选中后, BBB 也被选中
    default y
config BBB
    bool "config BBB"
    default y

menuconfig 语法


depends

config XXX
    bool "config XXX"
    default y
config YYY
    bool "config YYY"
    depends on XXX      # 表示依赖, XXX 被选中 才会有 YYY
    default y

menuconfig 语法


choice

choice
    prompt "choice entry"       # 作为该单选框入口点的标签
    default y
    default AAA                 # 默认选择 AAA 配置项

config AAA
    bool "config AAA"
    help
        AAA help info
config BBB
    bool "config BBB"
    help
        BBB help info
config CCC
    bool "config CCC"
    help
        CCC help info

endchoice

menuconfig 语法


引用其他文件的 Kconfig

  • dir/Kconfig 文件内容
config AAA
    bool "config AAA"
    select BBB          # AAA 被选中后, BBB 也被选中
    default y
config BBB
    bool "config BBB"
    default y
  • ./Kconfig 文件内容
source service/elog/Kconfig

menuconfig 语法


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133202.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序 谈谈在大学初次写项目的体验

    微信小程序 谈谈在大学初次写项目的体验已经近三周没写博客了,最近一直在忙着写一个项目,趁现在项目所用的服务器申请还在审核备案,写一篇博客,谈谈我在大学第一次写正规付费项目的体验哈哈。

    2025年12月13日
    2
  • 如何理解java方法的传值和传引用的参数传递方式_指针参数传递

    如何理解java方法的传值和传引用的参数传递方式_指针参数传递结论:1)当使用基本数据类型作为方法的形参时,在方法体中对形参的修改不会影响到实参的数值2)当使用引用数据类型作为方法的形参时,若在方法体中修改形参指向的数据内容,则会对实参变量的数值产生影响,因为形参变量和实参变量共享同一块堆区;3)当使用引用数据类型作为方法的形参时,若在方法体中修改形参变量的指向,此时不会对实参变量的数值产生影响,因此形参变量和实参变量分别指向不同的堆区例一:基本数据类型作为形参,运行结果不改变实参publicclassMain{publicstatic

    2022年8月30日
    9
  • PID算法原理 一图看懂PID的三个参数

    PID算法原理 一图看懂PID的三个参数找了好久这一篇算是很容易看懂的了推荐给大家写的十分清楚原文作者DF创客社区virtualwizLZ以前有个小小的理想,就是让手边的MCU自己“思考”起来,写出真正带算法的程序。前段时间做一个比赛项目的过程中,对经典、实用的PID算法有了一点点自己的理解,就写了这些,与大家分享因为LZ想尽办法,试着用最易于理解的语言说清楚原理,不做太多的理论分析。(LZ文学功底不行),所以…

    2022年6月5日
    149
  • docker nginx+php(docker nginx反向代理)

    一、docker安装:将微信公众号项目运行绑定至80端口(微信服务器只能和外部开通了80端口的服务器之间通信)docker一次构建可放在任何地方就可以运行,不需要进行任何改变DocKer就类似于一个容器。这个容器就好像咱们常用的虚拟机一样,当我们虚拟机里面安装过VS、SQL、浏览器……之后咱们就把虚拟机镜像备份下来、等到下一次需要重新搭一个环境的时候,就可以省去很多事情了,直接…

    2022年4月16日
    71
  • git查看自己的用户名和邮箱_查询邮箱用户名

    git查看自己的用户名和邮箱_查询邮箱用户名查看用户名和邮箱地址:$gitconfiguser.name$gitconfiguser.email修改用户名和邮箱地址:$gitconfig–globaluser.name”xxxx”Sgitconfig–globaluser.email”xxxx”…

    2025年9月24日
    3
  • 快速熟悉 PyQt5 与 Eric6 的极速 GUI 开发

    完美安装Anaconda3+PyQt5+Eric6一文对PyQt5与Eric6的安装做了详细的记录。这次将结合使用PyQt5和Eric6以实例的方式向大家展示PyQt5与Eric6的极速GUI开发,同时也可以让大家对PyQt5与Eric6先混个脸熟。用Eric6与PyQt5结合,非常方便的实现界面与逻辑分离,满足python的极速GUI编程,你只需要关注程序的逻辑实现,而不需要在

    2022年4月8日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号