usb驅動組成部分:
usb core完成了大部分的工作,寫usb驅動的時候,只能呼叫usbcore的介面,usb core會將咱們的請求傳送給相應的hcd。usb core會進行整個usb系統的初始化,比如申請struct bus_type usb_bus_type,然後會掃瞄usb匯流排。乙個usb鍵盤,那麼就為它準備乙個structdevice賦值,並插入devices鍊錶中來。每乙個usb裝置的驅動程式都會對應乙個struct usb_driver結構,usb core為每乙個裝置驅動準備了乙個函式,讓把 driver插入到usb_bus_type中的drivers鍊錶中去。
usb主機控制器負責usb匯流排通訊,處理usb狀態,管理狀態並報告狀態資訊。資料序列/解序列。生成frame或microframe。處理資料傳輸的請求。處理usb匯流排協議。差錯控制和電源管理。提供root hub功能讓裝置連線。根據協議將資料報分發到usb core。
其中usb core 和usb hcdriver已經由linux核心實現,開發usb驅動程式就是利用usb core的api開發usb device driver。
乙個usb介面對應乙個usb驅動。乙個介面可以有多個設定。
核心參考**kernel\drivers\usb\core
嵌入式linux下的usb驅動開發.
linux下基於usb子系統的驅動程式設計 2003中國計算機大會
input子系統框架
input子系統的框架 input子系統分為三個部分 1.input核心層 2.input device 3.input handler input核心層的任務是1.建立主裝置號 2.建立file operation結構體 3.註冊 裝置4.準備入口 出口 其中input準備的file operat...
Linux USB驅動框架分析
一 引言 隨著微電子技術的不斷創新和發展,嵌入計算系統 簡稱嵌入系統 作為計算機應用的乙個重領域,已深入到社會的方方面面,越來越為人們關注。我們為某煤礦企業開發的監控系統作為乙個智慧型分站,其系統就是採用嵌入式作業系統windows ce.net。二 嵌入式作業系統 嵌入式系統是以應用為中心 以計算...
Linux USB驅動框架分析
初次接觸與os相關的裝置驅動編寫,感覺還挺有意思的,為了不至於忘掉看過的東西,筆記跟總結當然不可缺,更何況我決定為嵌入式賣命了。好,言歸正傳,我 說一說這段時間的收穫,跟大家分享一下linux的驅動開發。但這次只先針對linux的usb子系統作分析,因為周五研討老闆催貨。當然,還會順帶提一 下其他的...