簡單分析USB設備驅動框架(秒懂~)

2022年09月27日18:51:10 科技 1709

在生活、工作中經常會接觸到USB設備,如鼠標、鍵盤、攝像頭、可移動硬盤、掃碼槍等。這些設備通過USB接口連接到電腦上後,電腦會立刻提示「檢測到新硬件...」、安裝驅動等。這裡需要強調下USB設備使用的是USB總線,window或Linux內核中都會自帶usb總線驅動,所以接上USB設備後,主機能夠立刻檢測到,提醒需要安裝設備驅動是指安裝USB設備驅動。

USB設備驅動使用USB總線,所以很多操作由USB總線驅動幫我們完成了,我們只需要的按照總線、設備、驅動框架來實現USB設備的驅動既可。USB設備數據的讀寫操作由總線驅動現在,我們可以直接使用總線讀取到的數據,然後解析這些數據的含義、再進行相關的操作就可以了(這裡需要注意的一點是USB總線驅動只提供USB設備的讀寫操作函數,這函數是通用的,即裏面的數據的含義總線驅動並不知道)。

USB設備驅動的框架圖下,具體的代碼可以參考內核中的/drivers/hid/usbhid/usbmouse.c

分配/設置usb_driver結構體,填充裏面的.id_table、.probe、.disconnect成員。
調用usb_register把usb_driver結構體註冊到內核中。

static struct usb_driver usbtouch_driver = {
	.name		= "myusb",
	.probe		= usbtouch_probe,
	.disconnect	= usbtouch_disconnect,
	.id_table	= usbtouch_devices,
};
 
static int __init usbtouch_init(void)
{
	return usb_register(&usbtouch_driver);
}
 
static void __exit usbtouch_cleanup(void)
{
	usb_deregister(&usbtouch_driver);
}

struct usb_driver中的id_table成員是用與和usb設備進行匹配的選項,表示這個驅動支持的設備。

.probe成員為函數指針,就是在設備和驅動匹配成功的時候執行。

.disconnect成員也為函數指針,在設備和驅動關聯成功後再斷開執行,如拔了USB設備或卸載USB設備驅動。


更多linux內核視頻教程文檔資料免費領取後台私信【內核】自行獲取.

簡單分析USB設備驅動框架(秒懂~) - 天天要聞

簡單分析USB設備驅動框架(秒懂~) - 天天要聞

簡單分析USB設備驅動框架(秒懂~) - 天天要聞

科技分類資訊推薦

鄒暉出任格力集團董事長 - 天天要聞

鄒暉出任格力集團董事長

本文來源:時代財經 珠海格力集團官網更新信息顯示,鄒暉已正式出任該集團黨委書記、董事長。公開資料顯示,鄒暉於1982年生,本科學歷。鄒暉曾擔任珠海市人大常委會農村農業工作委員會副主任,後轉任珠海市國資委副主任。此次調整後,格力集團領導班子為:鄒暉擔任集團黨委書記、董事長,王軼任黨委副書記、董事、總裁,吳...
【產業互聯網周報】阿里合伙人名單最新變動:9人已退出;美團在AI投入超百億元;黃仁勛:機械人技術是芯片製造商繼AI之後的最大機遇 - 天天要聞

【產業互聯網周報】阿里合伙人名單最新變動:9人已退出;美團在AI投入超百億元;黃仁勛:機械人技術是芯片製造商繼AI之後的最大機遇

圖片系AI生成【產業互聯網周報是由鈦媒體TMTpost發佈的特色產品,將整合本周最重要的企業級服務、雲計算、大數據領域的前沿趨勢、重磅政策及行研報告。】國內資訊北京經信局:北京累計備案上線大模型132款,全國佔比35%在2025全球數字經濟大會新聞發佈會上,北京市經濟和信息化局黨組成員、副局長、新聞發言人劉維亮表示,...
雷軍:小米YU7將開啟限時改配 非准現車鎖單用戶可參與 - 天天要聞

雷軍:小米YU7將開啟限時改配 非准現車鎖單用戶可參與

來源:環球網 【環球網科技綜合報道】7月1日消息,小米董事長雷軍今日在其個人社交賬號上宣布,小米YU7將開啟限時改配服務,非准現車的鎖單用戶均可參與。此次改配範圍明確,僅限於在YU7標準版、Pro版、Max版之間進行版本修改,或對YU7訂單
格力集團迎來新任董事長 - 天天要聞

格力集團迎來新任董事長

格力集團官網近日更新顯示,出生於1982年的鄒暉,已任集團黨委書記、董事長。格力集團是珠海市屬國企,它與大家熟知的上市公司格力電器是兩家企業。著名女企業家董明珠曾同時任格力集團董事長、格力電器董事長,她早在2016年10月就已經卸任格力集團董事長職務,目前仍擔任格力電器董事長。截至今年3月,格力集團持有格力電...
深圳華強新設電子公司,含數字技術服務業務 - 天天要聞

深圳華強新設電子公司,含數字技術服務業務

企查查APP顯示,近日,深圳聚華芯電子有限公司成立,法定代表人為陳俊彬,註冊資本為200萬元,經營範圍包含:電子產品銷售;數字技術服務;電子元器件批發;電子元器件零售;電工儀器儀錶銷售;智能儀器儀錶銷售;數字視頻監控系統銷售等。企查查股權穿透顯示,該公司由深圳華強(000062)間接全資持股。...