之前做過STM32的usb HID復合設備,閑來看看linux下USB設備驅動是怎么一回事, 參考資料基於韋東山JZ2440開發板,以下,有錯誤歡迎指出。 1、准備知識 1.1USB相關概念: USB枚舉過程:https://blog.csdn.net/go_str/article ...
USB驅動分為兩塊,一塊是USB的bus驅動,這個東西,Linux內核已經做好了,我們可以不管,我們只需要了解它的功能。形象的說,USB的bus驅動相當於鋪出一條路來,讓所有的信息都可以通過這條USB通道到達該到的地方,這部分工作由usb core drivers usb usb.c 來完成。當USB設備接到USB控制器接口時,usb core就檢測該設備的一些信息,如生產廠商的ID VID 和產 ...
2014-02-13 15:23 0 5678 推薦指數:
之前做過STM32的usb HID復合設備,閑來看看linux下USB設備驅動是怎么一回事, 參考資料基於韋東山JZ2440開發板,以下,有錯誤歡迎指出。 1、准備知識 1.1USB相關概念: USB枚舉過程:https://blog.csdn.net/go_str/article ...
Linux驅動框架分析(一) 事實上,Linux的設備驅動都遵循一個慣例——表征驅動程序(用driver更貼切一些,應該稱為驅動器比較好吧)的結構體,結構體里面應該包含了驅動程序所需要的所有資源。用術語來說,就是這個驅動器對象所擁有的屬性及成員。由於Linux的內核用c ...
1 熱插拔的基本概念 1.1 usb熱插拔的硬件原理 在USB集線器(hub)的每個下游端口的D+和D-上,分別接了一個15K歐姆的下拉電阻到地。這樣,在集線器的端口懸空時,就被這兩個下拉電阻拉到了低電平。 而在USB設備端,在D+或者D-上接了1.5K歐姆上拉電阻。對於全速和高速設備,上拉 ...
盡管 USB 本身所屬設備驅動的結構與其不掛在 USB 總線上時完全相同,但是在訪問方式上卻發生了很大的變化,例如,對於字符設備而言,盡管仍然是 write()、read()、ioctl()這些函數,但是在這些函數中,與 USB 設備通信時不再是 I/O 內存和 I/O 端口的訪問,而是URB ...
USB 設備驅動: 一、USB 描述符:(存在於USB 的E2PROM里面) 1、 設備描述符:struct usb_device_descriptor 2、 配置描述符:struct usb_config_descriptor 3、 接口描述符:struct ...
有時候USB設備出錯,這時我們希望通過軟件復位一下USB設備,可以參考下面這段代碼: #include <stdio.h> #include <unistd.h> #include <fcntl.h> #include < ...
我心疼的愛人 我願為她守候寂寞 就像這夜晚 深沉 這一章從主機側角度看到的USB ...
一.基礎概念 在終端用戶看來,USB設備為主機提供了多種多樣的附加功能,如文件傳輸,聲音播放等,但對USB主機來說,它與所有USB設備的接口都是一致的。一個USB設備由3個功能模塊組成:USB總線接口、USB邏輯設備和功能單元: a -- 這里的USB總線接口指的是USB設備中的串行接口引擎 ...