嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的開(kāi)發(fā)及實(shí)現(xiàn)原理
資料介紹
隨著人們對(duì)開(kāi)放源代碼軟件熱情的日益增高,Linux作為一個(gè)功能強(qiáng)大而穩(wěn)定的開(kāi)源操作系統(tǒng),越來(lái)越受到成千上萬(wàn)的計(jì)算機(jī)專家和愛(ài)好者的青睞。在嵌入式領(lǐng)域,通過(guò)對(duì)Linux進(jìn)行小型化裁剪后,使其能夠固化在容量只有幾十兆字節(jié)的存儲(chǔ)器芯片或單片機(jī)中,成為應(yīng)用于特定場(chǎng)合的嵌入式Linux系統(tǒng)。Linux強(qiáng)大的網(wǎng)絡(luò)支持功能實(shí)現(xiàn)了對(duì)包括TCP/IP在內(nèi)的多種協(xié)議的支持,滿足了面向21世紀(jì)的嵌入式系統(tǒng)應(yīng)用聯(lián)網(wǎng)的需求。因此,在嵌入式系統(tǒng)開(kāi)發(fā)調(diào)試時(shí),網(wǎng)絡(luò)接口幾乎成為不可或缺的模塊。
1 嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序介紹
Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序作為L(zhǎng)inux網(wǎng)絡(luò)子系統(tǒng)的一部分,位于TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu)的網(wǎng)絡(luò)接口層,主要實(shí)現(xiàn)上層協(xié)議棧與網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)交換。Linux的網(wǎng)絡(luò)系統(tǒng)主要是基于BSD Unix的套接字(socket)機(jī)制,網(wǎng)絡(luò)設(shè)備與字符設(shè)備和塊設(shè)備不同,沒(méi)有對(duì)應(yīng)地映射到文件系統(tǒng)中的設(shè)備節(jié)點(diǎn)。通常,Linux驅(qū)動(dòng)程序有兩種加載方式:一種是靜態(tài)地編譯進(jìn)內(nèi)核,內(nèi)核啟動(dòng)時(shí)自動(dòng)加載;另一種是編寫為內(nèi)核模塊,使用 insmod命令將模塊動(dòng)態(tài)加載到正在運(yùn)行的內(nèi)核,不需要時(shí)可用rmmod命令將模塊卸載。Linux 2.6內(nèi)核引入了kbuild機(jī)制,將外部?jī)?nèi)核模塊的編譯同內(nèi)核源碼樹(shù)的編譯統(tǒng)一起來(lái),大大簡(jiǎn)化了特定的參數(shù)和宏的設(shè)置。這樣將編寫好的驅(qū)動(dòng)模塊加入內(nèi)核源碼樹(shù),只需要修改相應(yīng)目錄的Kconfig文件,把新的驅(qū)動(dòng)加入內(nèi)核的配置菜單,然后需要修改相應(yīng)子目錄中與模塊編譯相關(guān)的 Kbuild Makefile,即可使新的驅(qū)動(dòng)在內(nèi)核源碼樹(shù)中被編譯。在嵌入式系統(tǒng)驅(qū)動(dòng)開(kāi)發(fā)時(shí),常常將驅(qū)動(dòng)程序編寫為內(nèi)核模塊,方便開(kāi)發(fā)調(diào)試。調(diào)試完畢后,就可以將驅(qū)動(dòng)模塊編譯進(jìn)內(nèi)核,并重新編譯出支持特定物理設(shè)備的Linux內(nèi)核。
2 嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的體系結(jié)構(gòu)和實(shí)現(xiàn)原理
Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)的體系結(jié)構(gòu)如圖1所示,Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的體系結(jié)構(gòu)可劃分為4個(gè)層次。Linux內(nèi)核源代碼中提供了網(wǎng)絡(luò)設(shè)備接口及以上層次的代碼,因此移植特定網(wǎng)絡(luò)硬件的驅(qū)動(dòng)程序的主要工作就是完成設(shè)備驅(qū)動(dòng)功能層的相應(yīng)代碼,根據(jù)底層具體的硬件特性,定義網(wǎng)絡(luò)設(shè)備接口struct net_device類型的結(jié)構(gòu)體變量,并實(shí)現(xiàn)其中相應(yīng)的操作函數(shù)及中斷處理程序。 Linux中所有的網(wǎng)絡(luò)設(shè)備都抽象為一個(gè)統(tǒng)一的接口,即網(wǎng)絡(luò)設(shè)備接口,通過(guò)struct net_device類型的結(jié)構(gòu)體變量表示網(wǎng)絡(luò)設(shè)備在內(nèi)核中的運(yùn)行情況,這里既包括回環(huán)(loopback)設(shè)備,也包括硬件網(wǎng)絡(luò)設(shè)備接口。內(nèi)核通過(guò)以dev_base為頭指針的設(shè)備鏈表來(lái)管理所有的網(wǎng)絡(luò)設(shè)備。
- 基于S3C2440嵌入式Linux步進(jìn)電機(jī)驅(qū)動(dòng)程序
- 細(xì)說(shuō)嵌入式驅(qū)動(dòng)程序設(shè)計(jì)
- 嵌入式Linux驅(qū)動(dòng)程序開(kāi)發(fā)
- 嵌入式RFID的驅(qū)動(dòng)程序設(shè)計(jì)
- 基于嵌入式Linux的人機(jī)交互接口設(shè)備驅(qū)動(dòng)程序的研究和實(shí)現(xiàn)
- 嵌入式Linux系統(tǒng)的驅(qū)動(dòng)原理和使用ARM Linux實(shí)現(xiàn)SPI驅(qū)動(dòng)程序的說(shuō)明 11次下載
- 嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序如何進(jìn)行開(kāi)發(fā)及實(shí)現(xiàn)的原理資料說(shuō)明
- 嵌入式Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)基礎(chǔ)知識(shí)總結(jié)免費(fèi)下載 13次下載
- 嵌入式Linux的中斷驅(qū)動(dòng)程序設(shè)計(jì) 3次下載
- 嵌入式Linux下的LCD驅(qū)動(dòng)程序設(shè)計(jì)方案解析 0次下載
- 基于BF533的Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序
- 基于嵌入式Linux的步進(jìn)電機(jī)驅(qū)動(dòng)程序設(shè)計(jì)
- 嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的開(kāi)發(fā)及實(shí)現(xiàn)原理
- 嵌入式USB從設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)
- 嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)
- 嵌入式Linux開(kāi)發(fā)的三種方式 755次閱讀
- 簡(jiǎn)化SBC的嵌入式Linux軟件開(kāi)發(fā) 998次閱讀
- 基于V4L技術(shù)和攝像頭的Linux驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn) 2811次閱讀
- 設(shè)計(jì)嵌入式驅(qū)動(dòng)程序有什么竅門 2508次閱讀
- 設(shè)計(jì)嵌入式驅(qū)動(dòng)程序有哪些小竅門 2553次閱讀
- 嵌入式Linux內(nèi)核的驅(qū)動(dòng)程序開(kāi)發(fā)是怎樣的 1415次閱讀
- 基于PXA255開(kāi)發(fā)板外圍字符設(shè)備的嵌入式Linux字符設(shè)備驅(qū)動(dòng)設(shè)計(jì)與應(yīng)用 1138次閱讀
- 基于嵌入式Linux下的I2C設(shè)備驅(qū)動(dòng)的總體思路與框架設(shè)計(jì) 3671次閱讀
- 基于嵌入式Linux內(nèi)核的系統(tǒng)設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)設(shè)計(jì) 1113次閱讀
- 嵌入式系統(tǒng)開(kāi)發(fā)中驅(qū)動(dòng)程序設(shè)計(jì)的5個(gè)方法盤點(diǎn) 3057次閱讀
- 基于Linux2.6.30開(kāi)發(fā)DS18B20的驅(qū)動(dòng)程序的類型和文件操作接口函數(shù)詳解 1377次閱讀
- 嵌入式C實(shí)現(xiàn)延時(shí)程序的不同變量的區(qū)別 幾種Linux嵌入式開(kāi)發(fā)環(huán)境的簡(jiǎn)單介紹 1566次閱讀
- 基于嵌入式Linux的無(wú)線視頻監(jiān)控系統(tǒng)設(shè)計(jì) 3004次閱讀
- 如何用嵌入式Linux系統(tǒng)編寫鍵盤驅(qū)動(dòng) 1312次閱讀
- 基于FPGA嵌入式系統(tǒng)的設(shè)備驅(qū)動(dòng)開(kāi)發(fā) 2259次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多