日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android驱动中的Kconfig文件与Makefile文件

發(fā)布時(shí)間:2025/4/16 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android驱动中的Kconfig文件与Makefile文件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

內(nèi)核源碼樹(shù)的目錄下都有兩個(gè)文檔Kconfig(2.4版本是Config.in)和Makefile。分布到各目錄的Kconfig構(gòu)成了一個(gè)分布式的內(nèi)核配置數(shù)據(jù)庫(kù),每個(gè)Kconfig分別描述了所屬目錄源文檔相關(guān)的內(nèi)核配置菜單。在內(nèi)核配置make menuconfig(或xconfig等)時(shí),從Kconfig中讀出菜單,用戶選擇后保存到.config的內(nèi)核配置文檔中。 在內(nèi)核編譯時(shí),主Makefile調(diào)用這個(gè).config,就知道了用戶的選擇。

上面的內(nèi)容說(shuō)明了,Kconfig就是對(duì)應(yīng)著內(nèi)核的配置菜單。假如要想添加新的驅(qū)動(dòng)到內(nèi)核的源碼中,能夠修改Kconfig,這樣就能夠選擇這個(gè)驅(qū)動(dòng),假如想使這個(gè)驅(qū)動(dòng)被編譯,要修改Makefile。

因此添加新的驅(qū)動(dòng)時(shí)需要修改的文檔有兩種(注意不只是兩個(gè))

*Kconfig
*Makefile

要想知道怎么修改這兩種文檔,就要知道兩種文檔的語(yǔ)法結(jié)構(gòu)。

一:Kconfig

每個(gè)菜單都有一個(gè)關(guān)鍵字標(biāo)識(shí),最常見(jiàn)的就是config。

語(yǔ)法:
config?

symbol是個(gè)新的標(biāo)記的菜單項(xiàng),options是在這個(gè)新的菜單項(xiàng)下的屬性和選項(xiàng)

其中options部分有:

1、類型定義:
每個(gè)config菜單項(xiàng)都要有類型定義,bool布爾類型、 tristate三態(tài):內(nèi)建、模塊、移除 string字符串、 hex十六進(jìn)制、 integer整型

例如config HELLO_MODULE
bool "hello test module"

bool類型的只能選中或不選中,tristate類型的菜單項(xiàng)多了編譯成內(nèi)核模塊的選項(xiàng),假如選擇編譯成內(nèi)核模塊,則會(huì)在.config中生成一個(gè)CONFIG_HELLO_MODULE=m的配置,假如選擇內(nèi)建,就是直接編譯成內(nèi)核影響,就會(huì)在.config中生成一個(gè)CONFIG_HELLO_MODULE=y的配置.

2、依賴型定義depends on或requires
指此菜單的出現(xiàn)和否依賴于另一個(gè)定義

config HELLO_MODULE
bool "hello test module"
depends on ARCH_PXA

這個(gè)例子表明HELLO_MODULE這個(gè)菜單項(xiàng)只對(duì)XScale處理器有效。

3、幫助性定義
只是增加幫助用關(guān)鍵字help或---help---

二:內(nèi)核的Makefile


在linux2.6.x/Documentation/kbuild目錄下有周詳?shù)慕榻B有關(guān)kernel makefile的知識(shí)。

內(nèi)核的Makefile分為5個(gè)組成部分:?
Makefile 最頂層的Makefile?
.config 內(nèi)核的當(dāng)前配置文檔,編譯時(shí)成為頂層Makefile的一部分
arch/$(ARCH)/Makefile 和體系結(jié)構(gòu)相關(guān)的Makefile?
s/ Makefile.* 一些Makefile的通用規(guī)則?
kbuild Makefile 各級(jí)目錄下的大概約500個(gè)文檔,編譯時(shí)根據(jù)上層Makefile傳下來(lái)的宏定義和其他編譯規(guī)則,將源代碼編譯成模塊或編入內(nèi)核。

頂層的Makefile文檔讀取 .config文檔的內(nèi)容,并總體上負(fù)責(zé)build內(nèi)核和模塊。Arch Makefile則提供補(bǔ)充體系結(jié)構(gòu)相關(guān)的信息。 s目錄下的Makefile文檔包含了任何用來(lái)根據(jù)kbuild Makefile 構(gòu)建內(nèi)核所需的定義和規(guī)則。

(其中.config的內(nèi)容是在make menuconfig的時(shí)候,通過(guò)Kconfig文檔配置的結(jié)果)

舉個(gè)例子:
假設(shè)想把自己寫(xiě)的一個(gè)flash的驅(qū)動(dòng)程式加載到工程中,而且能夠通過(guò)menuconfig配置內(nèi)核時(shí)選擇該驅(qū)動(dòng)該怎么辦呢?能夠分三步:

第一:將您寫(xiě)的flashtest.c 文檔添加到/driver/mtd/maps/ 目錄下。

第二:修改/driver/mtd/maps目錄下的kconfig文檔:
config MTD_flashtest
tristate “ap71 flash"

這樣當(dāng)make menuconfig時(shí) ,將會(huì)出現(xiàn) ap71 flash選項(xiàng)。

第三:修改該目錄下makefile文檔。
添加如下內(nèi)容:obj-$(CONFIG_MTD_flashtest) += flashtest.o

這樣,當(dāng)您運(yùn)行make menucofnig時(shí),您將發(fā)現(xiàn)ap71 flash選項(xiàng),假如您選擇了此項(xiàng)。該選擇就會(huì)保存在.config文檔中。當(dāng)您編譯內(nèi)核時(shí),將會(huì)讀取.config文檔,當(dāng)發(fā)現(xiàn)ap71 flash 選項(xiàng)為yes 時(shí),系統(tǒng)在調(diào)用/driver/mtd/maps/下的makefile 時(shí),將會(huì)把 flashtest.o 加入到內(nèi)核中。即可達(dá)到您的目的。

總結(jié)

以上是生活随笔為你收集整理的Android驱动中的Kconfig文件与Makefile文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品毛片久久久久久久 | 欧美v亚洲 | 天堂一区 | 婷婷导航 | 狠狠躁夜夜躁人人爽天天高潮 | 国产色区 | 大粗鳮巴久久久久久久久 | 午夜寂寞院| 澳门三级 | 97超碰人人澡人人爱学生 | 男人视频网站 | 强迫凌虐淫辱の牝奴在线观看 | 美女在线一区 | av综合网站 | 夜色一区 | 欧美成人午夜视频 | 亚洲无限码 | 免费看日韩 | 国产做爰xxxⅹ性视频国 | 91视频论坛 | 天啪| 天天操导航 | 国产精品国产三级国产普通话蜜臀 | 在线不卡 | av小说免费在线观看 | 亚洲偷偷 | 中文字幕在线观看视频一区二区 | 两性动态视频 | 欧美亚洲另类小说 | av在线播放一区二区三区 | 激情影音| 国产成人亚洲欧洲在线 | 高清国产视频 | 亚洲欧洲日韩国产 | 一区二区三区国产在线观看 | 黄色网页入口 | 欧美在线不卡视频 | 6080av| 国产三级在线免费观看 | 国产精品传媒在线观看 | 久久视频在线 | 国产成人在线免费观看 | 国产清纯白嫩初高中在线观看性色 | 色老头一区二区三区在线观看 | 精品日日夜夜 | 亚洲男人天堂网址 | 午夜人体视频 | 国产v在线 | 特级黄色片 | 中文字幕日韩久久 | 黄色资源网站 | 免费在线看a | av中出| 黄网在线看 | 国产亚洲区 | 亚洲a精品| 裸体裸乳被免费看视频 | 99这里| 性饥渴的农村熟妇 | 裸体女视频 | 中文在线字幕免费观 | 一级一片免费看 | 国产www免费观看 | 波多野结衣av中文字幕 | 亚洲av成人精品午夜一区二区 | 少妇毛片一区二区三区 | 中文字幕一区二区人妻视频 | 久操免费在线 | 成人国产精品 | 村上里沙番号 | 久草资源在线 | www.久草.com | 91国视频| 麻豆网站入口 | 国产野外作爱视频播放 | 亚洲精品日产精品乱码不卡 | 久久久久久网址 | 日韩中文字幕视频在线 | 老师用丝袜脚帮我脚交 | 在线xxxxx| 不卡的免费av | 99热最新网址| 蜜臀一区二区三区精品免费视频 | 97超碰站| 99热精品久久 | 欧美日韩性生活 | 欧美乱妇狂野欧美视频 | 日韩av一区二区三区在线观看 | 成人免费视频久久 | 日本欧美色图 | 久久日本视频 | 五色天婷婷 | 欧美精品一区二区三区久久久 | 男女涩涩网站 | 在线精品免费视频 | 精品九九 | 蜜桃精品视频在线 | 天堂在线观看 | 欧美孕交视频 |