新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linux網(wǎng)卡驅(qū)動程序編寫

Linux網(wǎng)卡驅(qū)動程序編寫

作者: 時間:2012-05-09 來源:網(wǎng)絡(luò) 收藏

模塊可以動態(tài)地加載、卸載。在2.0.xx版本里,還有kerneld自動加載模塊,但是2.2.xx中已經(jīng)取消了kerneld。手工加載使用insmod命令,卸載用rmmod命令,看內(nèi)核中的模塊用lsmod命令。

編譯用gcc,主要命令行參數(shù)-DKERNEL-DMODULE。并且作為模塊加載的,只編譯成obj形式(加-c參數(shù))。編譯好的目標(biāo)文件放在/lib/modules/2.x.xx/misc下,在啟動文件里用insmod加載。

四.進(jìn)一步的閱讀

程序設(shè)計資料可以從網(wǎng)上獲得。這就是開放源代碼的好處。并且沒有什么“未公開的秘密”。我時參閱的主要資料包括:

內(nèi)核源代碼

>byMichaelK.Johnson

>byOriPomerantz

byollyinBBS水木清華站

可以選擇一個模板作為開始,內(nèi)核源代碼里有一個網(wǎng)絡(luò)驅(qū)動程序的模板,

drivers/net/skeleton.c。里面包含了驅(qū)動程序的基本內(nèi)容。但這個模板是以以太網(wǎng)設(shè)備為對象的,以太網(wǎng)的處理在系統(tǒng)里有特殊“待遇”,所以如果不是以太網(wǎng)設(shè)備,有些細(xì)節(jié)上要注意,主要在初始化程序里。

最后,多參照別人寫的程序,聽聽其他開發(fā)者的經(jīng)驗之談大概是最有效的幫助了。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 4 5 6 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉