笔记 28 : linux 里 Kconfig 语法详解

(239)源码 :

bash 复制代码
#
# Kconfig test file
#

menu "Level 1 menu"                                     #一级菜单开始

    menu "Level 2-1 menu"                               #二级菜单(1)开始

        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

        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

        config MENU_2_1_CONFIG_4                        #二级菜单(1)的选项4
            bool                                        #bool类型(y/n),没带提示信息,本选项不会显示,但是存在
            default n                                   #bool默认值为y
    endmenu                                             #二级菜单(1)结束

    menu "Level 2-2 menu"                               #二级菜单(2)开始
        config MENU_2_2_CONFIG_1                        #二级菜单(2)的选项1
            bool "MENU_2_2_CONFIG_1"                    #bool类型(y/n),跟着提示信息
            default n                                   #bool默认值为n

        config MENU_2_2_CONFIG_2                        #二级菜单(2)的选项2
            tristate "MENU_2_2_CONFIG_2"                #tristate类型(y/n/m),跟着提示信息
            default m                                   #tristate默认值为m

        config MENU_2_2_CONFIG_3                        #二级菜单(2)的选项3
            string "MENU_2_2_CONFIG_3"                  #string类型(任意字符串),跟着提示信息
            default "this is MENU_2_2_CONFIG_3"         #string默认值为 this is MENU_2_2_CONFIG_3

        config MENU_2_2_CONFIG_4                        #二级菜单(2)的选项4
            hex "MENU_2_2_CONFIG_4"                     #hex类型(十六进制的值),跟着提示信息
            default 0x456789                            #hex默认值为 0x456789

        config MENU_2_2_CONFIG_5                        #二级菜单(2)的选项5
            int "MENU_2_2_CONFIG_5"                     #int类型(十进制的值),跟着提示信息
            default 666                                 #int默认值为 666
    endmenu                                             #二级菜单(2)结束

    menu "Level 2-3 menu"                               #二级菜单(3)开始
        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                                       选择配置项结束
    endmenu                                             #二级菜单(3)结束

    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)结束

    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

endmenu                 

++

++

++

++

++

++

++

++ 配置项没有提示词,则不会显示出来。

++

++

++

++ 工作中,若发现自己的配置项没有出现,很有可能就是依赖项没有被选中 。

++

(240 a)彩色源码 :

++

++

++

(240 b) source :

(241)

(242)

谢谢

相关推荐
幼儿园蛋小黑8 小时前
ARM 中断机制详解
arm
晊晌_h1 天前
IMX6ULL裸机开发:定时器(GPT/EPIT)与UART串口
arm·定时器·arm裸机开发
幼儿园蛋小黑7 天前
ARM 时钟与定时器详解:从原理到实践
arm
幼儿园蛋小黄7 天前
从定时器到时钟:ARM 嵌入式学习总结
arm
祖力557 天前
ARM时钟
嵌入式硬件·arm·时钟·imx6ull
koi77u7 天前
嵌入式学习——ARM(3)
arm
学linux的QQ蛋7 天前
i.MX6ULL GIC 中断整体知识点总结和ARM时钟重点总结
arm·时钟·中断
G.E.M.小白7 天前
【IMX6ULL ARM内核启动与时钟系统超详解】PLL/PFD/分频/根时钟配置
嵌入式·arm·时钟·imx6ull
koi77u8 天前
嵌入式学习——ARM(1)
arm
myy-learn8 天前
ARM-点亮第一颗LED
arm