看板 LinuxDev 關於我們 聯絡資訊
這陣子在研讀Linux USB driver部份 卻發現除了比較了解的USB host framework外,還有另一種gadget framework 我有去網路爬文,除了知道這是種device driver,能支援multi-configuration /multi-functions的架構外,其他了解的仍舊模模糊糊 這個device driver和host framework的device driver又差在哪裡? 不知道有哪位高手,可以說明清楚些? 或是說有哪些比較能淺顯易懂的網頁可供閱讀(中文的比較好) 如果我有一個one configuration with multi-interface的裝置,那我又該撰寫 那類型的device driver呢? 感謝! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.190.7
askacis:我不是高手,但是gadget driver就像你說的是用來當device 04/26 00:00
askacis:比如說你的嵌入式板子是拿來當印表機或掃描器或隨身碟等等 04/26 00:01
askacis:而usb host driver則是透過usb host對特定裝置做控制; 04/26 00:03
askacis:以gadget裝置來說當你一插入主機,host端(windows,linux..) 04/26 00:05
askacis:就會過來跟你做列舉的動作,而你的driver要負責回這些資訊 04/26 00:06
askacis:告訴主機端你有幾個configruation幾個interface等等 04/26 00:07
askacis:或是VID,PID,serial number等資訊是你的Driver要負責回報 04/26 00:08
askacis:而主機端的driver就相反,他則是從device吐的資訊去分析 04/26 00:09
askacis:以掃描器為例,主機端的driver就是利用host對機器做控制 04/26 00:11
askacis:而gadget driver就是今天有人透過host下命令給你的時候 04/26 00:12
askacis:你要負責去分析,執行然後回給主機端... 04/26 00:12
askacis:通常gadget driver都是嵌入式系統在使用居多... 04/26 00:14
allinoneoo:簡單說gadget是外部裝置上跑的driver 是pc上的usb port 06/10 00:20
allinoneoo:要控制你的時候 你回應自己是什麼裝置 要被如何使用 06/10 00:20
allinoneoo:通常我們說的driver是用來存取裝置的 而裝置上的driver 06/10 00:22
allinoneoo:是回應host的request的 比如usb隨身碟裡面是gadget 06/10 00:24
allinoneoo:askacis 講得其實就很清楚了 06/10 00:25