作者bluestar8783 (藍星)
看板LinuxDev
標題[問題] Linux USB framework?
時間Wed Apr 25 19:28:30 2012
這陣子在研讀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
1F:推 askacis:我不是高手,但是gadget driver就像你說的是用來當device 04/26 00:00
2F:→ askacis:比如說你的嵌入式板子是拿來當印表機或掃描器或隨身碟等等 04/26 00:01
3F:→ askacis:而usb host driver則是透過usb host對特定裝置做控制; 04/26 00:03
4F:→ askacis:以gadget裝置來說當你一插入主機,host端(windows,linux..) 04/26 00:05
5F:→ askacis:就會過來跟你做列舉的動作,而你的driver要負責回這些資訊 04/26 00:06
6F:→ askacis:告訴主機端你有幾個configruation幾個interface等等 04/26 00:07
7F:→ askacis:或是VID,PID,serial number等資訊是你的Driver要負責回報 04/26 00:08
8F:→ askacis:而主機端的driver就相反,他則是從device吐的資訊去分析 04/26 00:09
9F:推 askacis:以掃描器為例,主機端的driver就是利用host對機器做控制 04/26 00:11
10F:→ askacis:而gadget driver就是今天有人透過host下命令給你的時候 04/26 00:12
11F:→ askacis:你要負責去分析,執行然後回給主機端... 04/26 00:12
12F:→ askacis:通常gadget driver都是嵌入式系統在使用居多... 04/26 00:14
13F:推 allinoneoo:簡單說gadget是外部裝置上跑的driver 是pc上的usb port 06/10 00:20
14F:→ allinoneoo:要控制你的時候 你回應自己是什麼裝置 要被如何使用 06/10 00:20
15F:→ allinoneoo:通常我們說的driver是用來存取裝置的 而裝置上的driver 06/10 00:22
16F:→ allinoneoo:是回應host的request的 比如usb隨身碟裡面是gadget 06/10 00:24
17F:→ allinoneoo:askacis 講得其實就很清楚了 06/10 00:25