简单分析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设备驱动框架(秒懂~) - 天天要闻

科技分类资讯推荐

OPPO哪款手机值得买?2025年OPPO值得买的手机盘点! - 天天要闻

OPPO哪款手机值得买?2025年OPPO值得买的手机盘点!

OPPO作为国内知名的手机厂商,产品的售后服务以及质量值得信赖,选择OPPO手机的好处是线下维修极其方便,因为线下有很多OPPO的实体店,部分OPPO手机好享受免费贴膜和免费清理的服务。想要入手OPPO手机的朋友,可以看看下面这些机型(不包
OPPP“实力派”旗舰,16GB+512GB跌1811元收尾:三主摄+旗舰芯片 - 天天要闻

OPPP“实力派”旗舰,16GB+512GB跌1811元收尾:三主摄+旗舰芯片

没有哪位小姐姐拍照时不想把自己拍得美美的,但这需要一定的技术,而技术可以学习也可以交给手机来完成。现在的智能手机拍照已经优秀多了,对于用户而言只需打开相机按下快门即可,根本不需要掌握什么摄影技巧,白平衡、焦距、曝光、光圈等等专业参数都不需要
荣耀坐不住了,Magic7Pro无奈一跌再跌,16GB+1TB+骁龙8至尊版 - 天天要闻

荣耀坐不住了,Magic7Pro无奈一跌再跌,16GB+1TB+骁龙8至尊版

近年来,手机几乎成了我们生活中的“半快消品”,厂商们争相推出新款,更新换代的速度快得令人咋舌。每天都能看到各种新款手机广告、上市活动,仿佛只有不停地换新机,才能跟上时代的步伐。可是,面对这些频繁迭代的产品,我常常会问自己:对于我们日常使用来
手机行业“新卷王”,7000mAh+8T旗舰屏+IP69,现已跌至1539元 - 天天要闻

手机行业“新卷王”,7000mAh+8T旗舰屏+IP69,现已跌至1539元

近年来,手机电池技术有了翻天覆地的变化。记得以前的手机,电池容量往往较小,一天下来电量就捉襟见肘,常常需要中途充电,让人倍感焦虑。如今,随着电池容量的大幅提升,手机的续航时间有了明显改善,但很多人会担心,大容量电池会不会让机身变得沉重、臃肿
千元机“搅局者”,512GB顶配跌至1128元,连用四年流畅不卡顿 - 天天要闻

千元机“搅局者”,512GB顶配跌至1128元,连用四年流畅不卡顿

近年来,手机市场竞争愈发激烈,每个价位段都充斥着各种机型,从百元到千元,再到两三千元档,每个细分市场都有不少选择。面对这种“厮杀”局面,我曾经觉得只有高价旗舰才值得购买,但现在看来,激烈竞争反而给了我们消费者更多超值选择。即使是预算有限的朋
掌机要什么AI功能?曝AMD新Z2系掌机芯片仅有一款带有NPU - 天天要闻

掌机要什么AI功能?曝AMD新Z2系掌机芯片仅有一款带有NPU

搭载了Lunar Lake的微星掌机MSI Claw 8 AI+特地在命名中加入了“AI+”,并且在商品详情页及各类宣传中也可以看到很多所谓的“AI”功能及AI算力的宣传,但很显然的是,对于Windows掌机的用户和消费者来说,性能、性能调校、功耗、游戏帧数才是这部分人群最为关心的问题。 目前Windows掌机大多采用AMD处理器,其还专为掌机开...
柯尼卡美能达获“绿色先锋企业”称号 - 天天要闻

柯尼卡美能达获“绿色先锋企业”称号

日前,凭借在绿色低碳领域的持续创新与务实行动,柯尼卡美能达办公系统(中国)有限公司荣膺由中环联合(北京)认证中心有限公司所授予的“绿色先锋企业”称号。中环联合(北京)认证中心有限公司,简称CEC,成立于2002年,由原国家环境保护总局批准设立,是国家认证认可监督管理委员会批准的综合性认证机构,同时也是国内最早开...