一、Kconfig
1.定義:
一個(gè)文本形式的文件,其中主要作用是在內(nèi)核配置時(shí)候,作為配置選項(xiàng)。即:在Kconfig文件中添加配置選項(xiàng)。
2.語(yǔ)法:
config symbol //是個(gè)新的標(biāo)記的菜單項(xiàng)options //是在這個(gè)新的菜單項(xiàng)下的屬性和選項(xiàng)
例:config HELLO_MODULEbool “hello test module”depends on ARCH_PXAhelpXXXX
3.options5種類型:
bool布爾類型/tristate三態(tài)/string字符串/hex十六進(jìn)制/integer整型
其中,bool:菜單項(xiàng)顯示為[],.config中生成一個(gè) CONFIG_XXX=y/n (選中/不選中)
tristate:菜單項(xiàng)顯示為<>, .config中生成一個(gè) CONFIG_XXX=y/m/n(編譯成內(nèi)核映像/編譯成內(nèi)核模塊/不編譯)
4.目錄層次迭代 :
通過(guò)source “/…/…/Kconfig”鏈接,這樣便可以使各個(gè)目錄管理各自的配置內(nèi)容,使不必把那些配置都寫(xiě)在同一個(gè)文件里,方便修改和管理
5.依賴關(guān)系:
例:config HELLO_MODULEbool “hello test module”depends on ARCH_PXAhelpXXXX表示 HELLO_MODULE 依賴于ARCH_PXA
6.make menuconfig:會(huì)出現(xiàn)內(nèi)核的配置界面
二、.config
在選擇后會(huì)生成.config
三、Makefile
2.6內(nèi)核的Makefile分為5個(gè)組成部分:1. 最頂層的Makefile :讀取 .config文件的內(nèi)容,并總體上負(fù)責(zé)build內(nèi)核和模塊。2. 內(nèi)核的.config配置文件3. 在arch/$(ARCH) 目錄下的體系結(jié)構(gòu)相關(guān)的Makefile:提供補(bǔ)充體系結(jié)構(gòu)相關(guān)的信息4. 在s目錄下的 Makefile.* 文件:包含了所有用來(lái)根據(jù)kbuild Makefile 構(gòu)建內(nèi)核所需的定義和規(guī)則。5. 各級(jí)目錄下的大概約500個(gè)kbuild Makefile文件
最頂層的Makefile會(huì)調(diào)用.config負(fù)責(zé)編譯內(nèi)核和模塊。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3607瀏覽量
129602 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1378瀏覽量
40340
原文標(biāo)題:嵌入式系統(tǒng)Kconfig .config Makefile 的聯(lián)系和區(qū)別
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論