共找到2條詞條名為Gadget的結果 展開
- 一電腦軟體工具
- 英語單詞
Gadget
一電腦軟體工具
Gadget 框架提出了一套標準API, 在底層, USB 設備控制器 (USB Device Controller, UDC) 驅動則實現這一套 API, 不同的 UDC (通常是 SOC 的一部分)需要不同的驅動,甚至基於同樣的 UDC 的不同板子也需要進行代碼修改。這一層我們可以稱之為平台相關層。
Linux-USB Gadget 驅動框架(以下簡稱 Gadget )實現了 USB 協議定義的設備端的軟體功能。相對於 Linux USB 主機端( Host )驅動而言, Gadget 驅動出現較晚,它出現在 2.4.23 以後,
Since talking about a "USB Device Driver" becomes ambiguous when both sides of the protocol stack can run Linux, Linux-USB developers have chosen new terminology. A "USB Device Driver" is what current Linux kernels have: a Host-side driver. A Device-side driver is instead called a "USB Gadget Driver" ... that's why the new name.
基於 API, Gadget 驅動實現了一套硬體無關的功能,這基本上可以對應到 USB 協議里 的各種 USB Class ,也有比如 USB Gadget Generic Serial 驅動,沒有對應的 Class 。當然, Gadget 驅動還是受限於底層提供的功能的。比如 某些 Class 需要 USB Isochronous 端點,這時我們就不能支持該 Class 。
普通的 Gadget 驅動只實現一個功能(比如, u 盤, usb 網卡)。複合設備可以支持多個功能,後面將仔細研究一下複合設備的實現。像智能手機 , PDA 這樣的設備,硬體支持較豐富的端點、 DMA Buffer, 給軟體提了支持複合功能的基礎。
有兩點值得注意,第一是 usb gaget 驅動框架不象 usb 主機端有 usb core 的概念, usb 主機可能支持成百類型的外設,把通用功能抽象出來很有意義。 Usb device 端則通常沒有這個需求,一些通用功能抽象在一些 Helper 函數里就可以了。第二是 usb 2.0 里提出了OTG的概念,可以在同一介面上支持 host 以及 device 功能。 OTG 是一個比較複雜的規範,以後有時間再研究。
此外,.Gadget後綴名文件是windows vista及windows7系統側邊欄的小工具安裝程序,可雙擊安裝。