0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入了解USB驱动之总线驱动程序

Q4MP_gh_c472c21 2018-01-26 11:30 次阅读

总线驱动是不用改的,内核都帮我们做好了,为了了解整个USB驱动的体系,我们来分析一下总线驱动程序。

一.总线框图

深入了解USB驱动之总线驱动程序

总线的图画的已经非常清楚了,这篇博客我们分析的是左边的程序,在下篇我们想通过USB键盘这一实际例子来讲解。

二.程序实现

1. 由于代码太多且关系复杂这里只列出调用的函数(没有写参数)。从插入USB设备,到调用USB设备驱动程序,这一过程。

2.总线驱动程序都做了什么

a. 识别USB设备

1. 分配地址

2. 并告诉USB设备(set address)

3. 发出命令获取描述符(描述符的信息可以在include\linux\usb\Ch9.h看到)

深入了解USB驱动之总线驱动程序

b. 查找并安装对应的设备驱动程序

c. 提供USB读写函数

尽管USB本身所属设备驱动的结构与不挂在USB总线上时完全相同,但是在访问方式上却发生了很大的变化。例如,对于字符设备驱动而言,尽管仍然是write(), read(), ioctl()这些函数,但是在这些函数中,与USB设备通信时不再是I/O内存和I/O端口的访问,而贯穿始终的是称为URB的USB请求块,这些请求块通过USB总线驱动提供的读写等接口进行操作。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    2878

    浏览量

    88055
  • USB驱动
    +关注

    关注

    1

    文章

    136

    浏览量

    20191

原文标题:看完就会是不可能的,USB驱动之总线驱动程序

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    usb网卡驱动程序下载(万能全集)

    usb网卡驱动程序:ADM8511 USB网卡驱动程序ADM8515 USB网卡驱动程序AS26
    发表于 09-28 15:40 4204次下载
    <b class='flag-5'>usb</b>网卡<b class='flag-5'>驱动程序</b>下载(万能全集)

    天语手机usb驱动程序

    天语手机usb驱动程序:天语手机usb驱动程序下载
    发表于 04-30 12:36 792次下载

    Windows CE 下通用串行总线(USB)驱动程序开发

    Windows CE 下通用串行总线(USB)驱动程序开发:通过分析通用串行总线USB)的拓扑结构和Windows CE 设备
    发表于 05-09 08:07 28次下载

    EZ USB 通用驱动程序说明

    EZ_USB 通用驱动程序(本文章中称为GPD或者是EZ_USB GPD)是用来和基于EZ_USB外设接口的通用设备驱动程序
    发表于 11-06 11:26 52次下载

    USB设备的WDM驱动程序设计

    本文介绍了WDM驱动模型,并且针对USB总线给出了USB设备的WDM驱动程序的设计方法
    发表于 10-13 15:48 0次下载

    USB接口驱动程序开发

    介绍USB的优点和发展情况,基于DDK的USB设备驱动程序结构,并结合开发的ARM 板驱动程序对关键程序进行介绍。
    发表于 03-19 15:21 121次下载
    <b class='flag-5'>USB</b>接口<b class='flag-5'>驱动程序</b>开发

    USB总线数据采集设备驱动程序的设计

    结合基于USB总线的数据采集设备,介绍了WDM驱动程序的工作原理,设计原则和设计方法,并给出一个实现块传输的USB设备驱动程序例程,详细的介
    发表于 05-15 09:57 1797次阅读
    <b class='flag-5'>USB</b><b class='flag-5'>总线</b>数据采集设备<b class='flag-5'>驱动程序</b>的设计

    HC6800的USB驱动程序

    HC6800的USB驱动程序HC6800的USB驱动程序HC6800的USB驱动程序HC6800
    发表于 12-28 15:28 0次下载

    usb驱动程序

    CH340G的USB驱动程序,win7运行完全没有问题。
    发表于 05-13 10:17 69次下载

    WinCE_Net系统下USB总线驱动程序实现的研究

    WinCE_Net系统下USB总线驱动程序实现的研究
    发表于 10-25 09:52 15次下载
    WinCE_Net系统下<b class='flag-5'>USB</b><b class='flag-5'>总线</b><b class='flag-5'>驱动程序</b>实现的研究

    CDM20600驱动程序,USB驱动程序和并口驱动应用程序(免费下载)

    本文档的主要内容是CDM20600驱动程序,USB驱动程序和并口驱动应用程序(免费下载)详细资料概述
    发表于 06-06 10:00 57次下载
    CDM20600<b class='flag-5'>驱动程序</b>,<b class='flag-5'>USB</b><b class='flag-5'>驱动程序</b>和并口<b class='flag-5'>驱动</b>应用<b class='flag-5'>程序</b>(免费下载)

    Linux设备驱动程序的平台驱动程序和字符驱动程序介绍

    了解Linux设备驱动程序的基础知识,重点介绍平台驱动程序和字符驱动程序。 提出了简单的平台驱动程序实现和简单的字符
    的头像 发表于 11-27 06:32 4300次阅读

    如何使用Linux内核实现USB驱动程序框架

    Linux内核提供了完整的USB驱动程序框架。USB总线采用树形结构,在一条总线上只能有唯一的主机设备。 Linux内核从主机和设备两个角度
    发表于 11-06 17:59 20次下载
    如何使用Linux内核实现<b class='flag-5'>USB</b><b class='flag-5'>驱动程序</b>框架

    SDP USB驱动程序安装程序

    SDP USB驱动程序安装程序
    发表于 03-23 10:07 14次下载
    SDP <b class='flag-5'>USB</b><b class='flag-5'>驱动程序</b>安装<b class='flag-5'>程序</b>

    USB驱动程序

    USB驱动程序
    发表于 08-17 11:47 54次下载