回覆列表
  • 1 # 擼的一手老僵

    usb device controller是與usb host controller相對應的usb控制器,它主要實現usb client端的協議。 而usb device有兩種含義:從硬體角度看就是一個帶有usb client控制器的裝置;從linux角度看,就是一個掛在usb總線上的一個普通意義上的裝置,只不過它們的驅動是基於host驅動之上的。而host驅動主要實現usb host端的協議,usb device的驅動透過host驅動提供的API訪問遠端裝置的“I/O”,從而實現對裝置的控制。 後來linux又實現了usb client協議的驅動,這樣就可以在該協議驅動之上實現各種各樣的usb裝置,這種裝置的驅動透過usb client協議的驅動提供的API,將裝置自身的“I/O”開放出來,給遠端的host訪問。由於核心已經使用了usb device這個名詞,所以為了區別,稱這種裝置為gadget,其驅動為gadget驅動。 對於一個帶有usb client controller的板子,如果基於該控制器實現了某種裝置(如mass storage),那麼從這塊板子的角度看,這是一個usb gadget;如果用usb cable將這個板子與pc機連線起來,那麼在pc上就可以看到一個usb device。

  • 中秋節和大豐收的關聯?
  • 體迴圈的途徑是什麼?