RT-thread 的Kconfig簡單語法

目錄

 

一、Kconfig的作用

二、元素解釋

2.1、menu  &&  endmenu

2.2、config

2.3、comment

2.4、if  && endif

2.5、遇到再說,待續。。。。。


一、Kconfig的作用

Kconfig 對內核和組件的功能進行配置,對組件進行自由裁剪。

 

二、元素解釋

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、遇到再說,待續。。。。。

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章