USB從裝置驅動實現流程

2021-10-08 11:38:30 字數 662 閱讀 6174

很多公司在使用usb的時候有如下的設計理念,想要把裝置的資訊通過usb介面與pc連線,pc端開發乙個客戶程式 用於裝置的配置,如下

希望裝置的初始配置可以在pc端實現,需要裝置底層開發一套驅動用於支援pc端的識別

涉及的開發流程有2處。

1.裝置的devices驅動

2.pc的host驅動

本文主要介紹裝置端的驅動

乙個從裝置的識別需要以下關鍵資訊

裝置描述符、介面描述符、配置描述符、端點描述符、

乙個裝置可能有多個介面多個配置管理著多個端點

我們需要在裝置驅動中註冊以上結構和usb讀寫功能函式即可,那麼這4種結構如何註冊呢?這裡就涉及到乙個核心函式

rval = usb_composite_probe(&pri_gadget_driver);//註冊復合驅動

st

USB裝置驅動

1.linux usb架構 usb通訊都是由host端發起的。usb裝置驅動程式分配並初始化乙個urb發給usb core,usb core改一改,發給usb主機控制器驅動,usb主機控制器驅動把它解析成包,在匯流排上進行傳送。usb core是由核心實現的,其實也就是把host control d...

USB裝置驅動

把usb裝置接到pc 右下角彈出 發現android phone 跳出乙個對話方塊,提示你安裝驅動程式 問1.既然還沒有 驅動程式 為何能知道是 android phone 答1.windows裡已經有了usb的匯流排驅動程式,接入usb裝置後,是 匯流排驅動程式 知道你是 android phon...

USB裝置驅動程式載入流程

使用者插入usb裝置 usb匯流排 或者是pci匯流排,這個不太清楚,反正就是匯流排來著 識別到插入了usb裝置。匯流排和usb裝置進行通訊,獲取usb的硬體id 產品id,以及bcdversion。根據這些資訊組成裝置硬體id號 vid x pid x rev x。匯流排根據usb裝置的插槽位置,...