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