麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Linux Shell > 正文

linux 驅動之Kconfig文件和Makefile文件實例

2020-07-27 18:58:52
字體:
來源:轉載
供稿:網友

linux 驅動之Kconfig文件和Makefile文件實例

在Linux編寫驅動的過程中,有兩個文件是我們必須要了解和知曉的。這其中,一個是Kconfig文件,另外一個是Makefile文件。如果大家比較熟悉的話,那么肯定對內核編譯需要的.config文件不陌生,在.config文件中,我們發現有的模塊被編譯進了內核,有的只是生成了一個module。這中間,我們如何讓內核發現我們編寫的模塊呢,這就需要在Kconfig中進行說明。至于如何生成模塊,那么就需要利用Makefile告訴編譯器,怎么編譯生成這個模塊。模仿其實就是最好的老師,我們可以以內核中經常使用到的網卡e1000模塊為例,說明內核中是如何設置和編譯的。

    首先,我們可以看一下,在2.6.32.60中關于e1000在Kconfig中是怎么描述的,

config E1000  tristate "Intel(R) PRO/1000 Gigabit Ethernet support"  depends on PCI  ---help---   This driver supports Intel(R) PRO/1000 gigabit ethernet family of   adapters. For more information on how to identify your adapter, go   to the Adapter & Driver ID Guide at:    <http://support.intel.com/support/network/adapter/pro100/21397.htm>    For general information and support, go to the Intel support   website at:    <http://support.intel.com>    More specific information on configuring the driver is in   <file:Documentation/networking/e1000.txt>.    To compile this driver as a module, choose M here. The module   will be called e1000. 

    上面的內容是從drivers/net/Kconfig中摘錄出來的。內容看上去不復雜,最重要的就是說明了模塊的名稱、用途、依賴的模塊名、說明等等。只要有了這個說明,我們在shell下輸入make menuconfig的時候就可以看到e1000這個選項了,輸入y表示編譯內核;輸入n表示不編譯;輸入m表示模塊編寫,這是大家都知道的。

    那么,有了這個模塊之后,需要編譯哪些文件中,我們在drivers/net/Makefile看到了這樣的內容,

obj-$(CONFIG_E1000) += e1000/ 

    顯然,這段代碼只是告訴我們,要想編譯e1000,必須要包含e1000這個目錄,所以e1000目錄下必然還有一個Makefile,果不其然,我們在e1000目錄下發現了這個Makefile,內容如下,

obj-$(CONFIG_E1000) += e1000.o  e1000-objs := e1000_main.o e1000_hw.o e1000_ethtool.o e1000_param.o 

    看了這個文件,其實大家心理就應該有底了。原來這個e1000模塊最終生成的文件就是e1000.ko,依賴的文件就是e1000_main.c、e1000_hw.c、e1000_ethtool.c、e1000_param.c這四個文件。只要CONFIG_E1000被設置了,那么這個模塊就會被正常編譯。我們要做的就是打開這個開關就可以了,剩下kernel會幫我們搞定一切。當然,如果大家想把這個模塊拿出來,自己用一個獨立的module編譯也是可以的。

    關于linux驅動的編譯部分,其實就這兩個配置文件比較重要。大家可以自己實際練習一下,進一步加深印象。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人性视频在线 | 国产一级aaa全黄毛片 | 久久亚洲精品国产 | 国产在线观看 | 欧美三级欧美成人高清www | h视频在线观看免费 | 欧美日本一区二区 | 国产精品久久久久久久久久免 | 在线成人一区二区 | 日韩精品中文字幕一区 | 国产日韩欧美一区 | 久久久电影电视剧免费看 | 高颜值美女啪啪 | 久热久操 | 狠狠色噜噜狠狠狠米奇9999 | 一本色道久久综合狠狠躁篇适合什么人看 | 欧美一级黄色录像片 | 久久亚洲精品久久国产一区二区 | 黄色免费电影网址 | 国产韩国精品一区二区三区久久 | 狠狠一区二区 | 精品在线一区二区三区 | 亚洲性生活视频 | 在线播放免费视频 | 91九色蝌蚪国产 | 日本aaaa片毛片免费观看视频 | 一级黄色毛片免费 | 国内成人自拍视频 | 日本黄色免费观看视频 | 海角在线观看91一区二区 | 国产91极品| 国产在线观看一区二区三区 | 国产一级毛片国语版 | 中文字幕亚洲视频 | 羞羞视频免费视频欧美 | 色柚视频网站ww色 | 免费在线成人网 | 成人毛片100部免费观看 | 久久久久久久久浪潮精品 | 欧洲黄色一级视频 | sesee99|