RT-thread 的Kconfig简单语法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37697335/article/details/90547725

目录

 

一、Kconfig的作用

二、元素解释

2.1、menu  &&  endmenu

2.2、config

2.3、comment

2.4、if  && endif

2.5、遇到再说,待续。。。。。


一、Kconfig的作用

Kconfig 对内核和组件的功能进行配置,对组件进行自由裁剪。

扫描二维码关注公众号,回复: 6568285 查看本文章

 

二、元素解释

2.1、menu  &&  endmenu

menu的作用,可以理解成一个目录, menu可以把其中一部分配置项包含到一个menu中,这样有利于配置的分类显示。menu与endmenu是一组指令,必须同时出现。menu和endmenu中包含的部分就是子目录中的配置项。

也就是说menu与endmenu之间的内容构成一个部分,这样易于分类管理。

menu "Hardware Drivers Config"
//此处包含一部分的内容
endmenu

menu后面连接的字符串就是菜单名称,在menuconfig界面中,显示如下:

2.2、config

config是关键字,表示一个配置选项的开始;

config有5种类型:bool、tristate、string、hex和int,其中tristate和string是基本的类型。

            (1)bool变量的值:y和n。(2)tristate变量的值:y、n和m。   (3)string变量的值:  字符串。

 bool之后的字符串是提示信息,显示在界面用于提示。

select:是反向依赖关系的意思,即当前配置选项被选中,说明配置的内容需要选上这个选项。

depends on:表示依赖于XXX,“depends on TMPFS”表示只有当TMPFS配置选项被选中时,当前配置选项的提示信息才会出现,才能设置当前配置选项,除了防止配置错误外,也可以使显示更简短,减少显示的篇幅。

举例:

    config BSP_USING_UART2
        bool "Enable UART2"
        select RT_USING_SERIAL
        default n

这里是配置BSP_USING_UART2作为bool型变量,bool后面是显示信息,同时也选择了RT_USING_SERIAL,其中该bool类型值默认为n(no,意味着不选取)。

2.3、comment

只是起到插入语的作用,别的没啥作用。comment "****Boot options******"

 

2.4、if  && endif

    menuconfig BSP_USING_I2C1
        bool "Enable I2C1 BUS (software simulation)"
        default n
        select RT_USING_I2C
        select RT_USING_I2C_BITOPS
        select RT_USING_PIN
        if BSP_USING_I2C1
            config BSP_I2C1_SCL_PIN
                int "i2c1 scl pin number"
                range 1 176
                default 15
            config BSP_I2C1_SDA_PIN
                int "I2C1 sda pin number"
                range 1 176
                default 16
        endif

配置项是位于if和endif中。其中的部分就是子目录BSP_USING_I2C1显示的内容。如果选中了BSP_USING_I2C1,那么if和endif中的内容可以显示。如果没有定义,就只能进入一个空目。

2.5、遇到再说,待续。。。。。

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/m0_37697335/article/details/90547725
今日推荐