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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是Web Service(SOAP)?

    什么是Web Service(SOAP)?SOAP请求(SimpleObjectAccessProtocol,简单对象访问协议)是HTTPPOST的一个专用版本,遵循一种特殊的XML消息格式,Content-type设置为:text/xml,任何数据都可以XML化。SOAP:简单对象访问协议。SOAP是一种轻量的,简单的,基于XML的协议,它被设计成在web上交换结构化的和固化的信息。SOAP可以和现存的许多因特网协议和格式结合…

    2022年7月24日
    12
  • MBUS系列产品特点(科慧铭远)[通俗易懂]

    MBUS系列产品特点(科慧铭远)[通俗易懂]     北京科慧铭远自控技术有限公司联合国际标准化组织、计量中心、热力集团、清华大学检测与电子技术研究所,成立国内首家M-BUS通信设备检测中心,对于M-BUS主站、从站的通信设备全方位的检测其是否符合国际和国内标准,并予以认证。北京科慧铭远自控技术有限公司有着在M-BUS领域最全面的的研发和生产能力,获得国际标准化组织的认可,产品在欧洲、亚洲、中国获得全面应用。其生产的MBUS设备的主要…

    2022年10月10日
    3
  • pycharm最新激活码汇总,亲测可用,定期更新_在线激活

    (pycharm最新激活码汇总,亲测可用,定期更新)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    90
  • 斗鱼主播都在使用的可取回的CSGO开箱子网站推荐!「建议收藏」

    斗鱼主播都在使用的可取回的CSGO开箱子网站推荐!「建议收藏」斗鱼主播都在使用的可取回的CSGO开箱子网站推荐!incsgo能直接取回皮肤的CSGO饰品皮肤开箱网站官方链接:www.incsgo.gg注册登录自动免费获得$1.00美金优惠码:csgogo(充值使用csgogo可增加5%充值金额)支付:微信支付宝状态:直接取回skinsdog狗网CSGO饰品皮肤开箱网站可直接取回官方链接:skinsdog.cc注册登录自动免费获得$0.8美金推广码:csgogo(注册使用送0.8美金)支付:微信支付宝状态:直.

    2022年10月4日
    6
  • Linux操作系统基础(完结)

    Linux操作系统基础(完结)一、Linux操作系统概述二、Linux操作系统安装三、Linux文件系统及文件基础四、Linux操作系统命令使用基础五、Linux应用程序的安装与卸载基础五、用户及进程六、相关信息查询七、网络配置八、Linux应用程序的安装与卸载基础九、vim

    2022年5月9日
    44
  • 添加打印机时错误为0x0000011b_连接打印机0x000003e3

    添加打印机时错误为0x0000011b_连接打印机0x000003e3问题描述前几天共享打印机还可以使用的突然就不能打印了,删除重新安装时就提示windows无法连接到打印机,如下图:解决方案这是的补丁代号为KB5005569/KB5005573/KB5005568/KB5005566/KB5005565造成的。卸掉上述补丁即可解决问题步骤找到设置——>更新和安全—->Windows更新—->“查看更新历史记录—->卸载更新本人的经验分享,希望可以帮助到你们,如何不对的地方,可以评论留言,帮我指正一下,如果帮助了你

    2025年9月3日
    10

发表回复

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

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