資料介紹
基于Linux操作系統具有良好的開放性和較強的可移植性,在當前嵌入式操作系
統中被廣泛采用;同時USB也具有極佳的通用性,是當前最為流行的通用外設接口。本文詳細的介紹編寫嵌入式USB驅動程序的結構和重點,最后談談移植USB驅動程序到ARM平臺需要修改的地方。
關鍵詞:Linux;USB;USB驅動程序;嵌入式系統
Linux 內核有三種類型的設備驅動程序:字符設備、塊設備和網絡設備。其中與文件系
統相關的兩種類型是字符設備和塊設備。字符設備指那些必須以串行順序依次進行訪問的設備,如觸摸屏、磁帶驅動器、鼠標等。塊設備可以用任意順序進行訪問,以塊為單位進行操作,如硬盤、軟驅等。其中字符設備不經過系統的快速緩沖,而塊設備經過系統的快速緩沖。對于字符設備的驅動程序來說,將該初始化函數放在linux 源碼drivers/char/mem.c 中進行執行;對于塊設備,放在/drivers/block/ll_rw_block.c 中執行。
在嵌入式系統中,設備驅動程序的實現方法有兩種,一種是采用中斷(interrupt)的方
式,另一種是采用輪詢(pol1in)的方式。在中斷方式下,事件的發生是由中斷確定的,在中斷沒有出現時,驅動程序處于空閑狀態,由外部設備主動提出申清,CPU 響應申請后對外部設備進行處理;在查詢方式下,驅動程序必須創建一個任務,以不停地查詢相關寄存器來確定事件的發生,由CPU 掌握對設備的訪問權,外部設備則完全處于被動狀態,這種方式會比較占用CPU 時間。考慮到驅動程序的執行效率和系統的實時性要求,一般采用中斷觸發方式。
設備驅動程序是操作系統內核和機器硬件之間的接口,為應用程序屏蔽了硬件的細節。
應用程序看待硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作。設備驅動程序是內核的一部分。linux 操作系統提供了一種機制即內核模塊來解決這個問題。根據需要,在重新編譯內核的情況下,把模塊插入內核或者從內核卸載。linux設備驅動都在內核空間實現,實現方式有兩種:一種是將有關的設備驅動程序和數據結構靜態地編譯進內核映像(image)中;另一種是將設備驅動程序和數據結構獨立編譯,使之成為可安裝的模塊(module)。一般情況下是采用第二種方法加載到內核的。
統中被廣泛采用;同時USB也具有極佳的通用性,是當前最為流行的通用外設接口。本文詳細的介紹編寫嵌入式USB驅動程序的結構和重點,最后談談移植USB驅動程序到ARM平臺需要修改的地方。
關鍵詞:Linux;USB;USB驅動程序;嵌入式系統
Linux 內核有三種類型的設備驅動程序:字符設備、塊設備和網絡設備。其中與文件系
統相關的兩種類型是字符設備和塊設備。字符設備指那些必須以串行順序依次進行訪問的設備,如觸摸屏、磁帶驅動器、鼠標等。塊設備可以用任意順序進行訪問,以塊為單位進行操作,如硬盤、軟驅等。其中字符設備不經過系統的快速緩沖,而塊設備經過系統的快速緩沖。對于字符設備的驅動程序來說,將該初始化函數放在linux 源碼drivers/char/mem.c 中進行執行;對于塊設備,放在/drivers/block/ll_rw_block.c 中執行。
在嵌入式系統中,設備驅動程序的實現方法有兩種,一種是采用中斷(interrupt)的方
式,另一種是采用輪詢(pol1in)的方式。在中斷方式下,事件的發生是由中斷確定的,在中斷沒有出現時,驅動程序處于空閑狀態,由外部設備主動提出申清,CPU 響應申請后對外部設備進行處理;在查詢方式下,驅動程序必須創建一個任務,以不停地查詢相關寄存器來確定事件的發生,由CPU 掌握對設備的訪問權,外部設備則完全處于被動狀態,這種方式會比較占用CPU 時間。考慮到驅動程序的執行效率和系統的實時性要求,一般采用中斷觸發方式。
設備驅動程序是操作系統內核和機器硬件之間的接口,為應用程序屏蔽了硬件的細節。
應用程序看待硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作。設備驅動程序是內核的一部分。linux 操作系統提供了一種機制即內核模塊來解決這個問題。根據需要,在重新編譯內核的情況下,把模塊插入內核或者從內核卸載。linux設備驅動都在內核空間實現,實現方式有兩種:一種是將有關的設備驅動程序和數據結構靜態地編譯進內核映像(image)中;另一種是將設備驅動程序和數據結構獨立編譯,使之成為可安裝的模塊(module)。一般情況下是采用第二種方法加載到內核的。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式linux報警,嵌入式Linux下LED報警燈驅動設計及編程.doc
- ARM11嵌入式系統Linux下液晶顯示的實現
- ARM11嵌入式系統Linux下LCD的驅動的設計
- 基于arm11的嵌入式linux中nrf24l01驅動的實現
- 嵌入式Linux系統的驅動原理和使用ARM Linux實現SPI驅動程序的說明 11次下載
- USB設備端驅動系統與嵌入式linux系統的實現 4次下載
- LCD原理與基于嵌入式的LCD驅動的設計與實現 8次下載
- 基于StrongARM嵌入式Linux系統下的USB通信實現 5次下載
- 基于嵌入式Linux的U盤驅動的分析與改進
- 嵌入式Linux字符設備驅動的設計與應用
- 嵌入式Linux下PCSC驅動的設計與實現
- 嵌入式Linux字符設備驅動的設計與應用
- 基于Linux的嵌入式LCD設計
- 嵌入式USB從設備驅動程序設計
- 嵌入式Linux的USB驅動添加及應用
- 嵌入式Linux開發的三種方式 758次閱讀
- 簡化SBC的嵌入式Linux軟件開發 998次閱讀
- 基于嵌入式Linux內核的ARM9運行實現方式介紹 1475次閱讀
- 基于Yocto Project的定制嵌入式Linux產品設計淺析 1w次閱讀
- 如何在嵌入式Linux中截屏 5908次閱讀
- 基于嵌入式linux系統下的串口編程具體設置詳解 6844次閱讀
- 基于嵌入式Linux系統下Mini GUI的移植方法與過程詳解 3549次閱讀
- 基于PXA255開發板外圍字符設備的嵌入式Linux字符設備驅動設計與應用 1138次閱讀
- 基于嵌入式Linux下的I2C設備驅動的總體思路與框架設計 3671次閱讀
- 學習嵌入式linux系統開發,文件類型一定要分清 809次閱讀
- 嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹 1566次閱讀
- 基于嵌入式Linux的無線視頻監控系統設計 3004次閱讀
- 基于FPGA的嵌入式Linux操作系統解決方案 6027次閱讀
- 基于Linux的嵌入式實時操作系統的研究 2298次閱讀
- 基于ARM Linux的圖像采集與藍牙傳輸 2112次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多