s5pv210-Linux驱动之USB鼠标

本文介绍了在S5PV210硬件平台上,基于Linux3.10.46内核如何移植USB鼠标驱动。首先阐述了开发环境,然后详细讲解了从分配`usb_driver`结构体、编写匹配函数到 urb 请求处理的移植步骤,并给出了驱动编进内核的方法。最后,总结了USB鼠标驱动工作原理,强调了设备匹配条件的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、开发环境

硬件平台:我用的是TQ210核心板,板载S5PV210芯片,USB扩展接有FE1.1S芯片,是一个4端口的HUB
软件平台:开发板移植的是Linux3.10.46内核,UBOOT移植的是2014.12版本

二、资源简介

    前几篇已经移植好了USB的主机控制器驱动,只要编写鼠标对应的驱动,注册到USB总线就可以了。

三、移植步骤

1、分配一个usb_driver结构体,如下

static struct usb_driver tq_usb_mouse_driver = {
    .name       = "tq_usbmouse",
    .probe      = tq_usb_mouse_probe,
    .disconnect = tq_usb_mouse_disconnect,
    .id_table   = usb_mouse_id_table,
};

2、usb_mouse_id_table是用来和插入开发板的设备匹配用的,定义如下:

static struct usb_device_id usb_mouse_id_table [] = {
    { USB_INTERFACE_INFO(USB_INTERFACE_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT,
        USB_INTERFACE_PROTOCOL_MOUSE) },
    { } /* Terminating entry */
};

MODULE_DEVICE_TABLE (usb, usb_mouse_id_table);
其中,USB_INTERFACE_INFO在include/linux/usb.h中定义,如下:

#def
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值