嵌入式Linux下USB2.0海量存储设备驱动设计.pdfVIP

嵌入式Linux下USB2.0海量存储设备驱动设计.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
158 福 建 电 脑 2008年第7期 嵌入式Linux下USB2.0 海量存储设备驱动设计 冯 韬.李广军 (电子科技大学通信与信息工程学院 四川 成都 610054) 【摘 要】:该文首先介绍了USB2.0以及嵌入式Linux的应用背景,然后介绍了USB2.0设备的概念以及其驱动框架,并 详细介绍了在嵌入式Linu】【下海量存储设备驱动的设计与实现方法。该驱动设计采用了模块化设计的思路,层次清晰,并在 现实中得到了验证.最后成功实现了海量存储设备的功能。 【关键词】:嵌入式Linux;通用串行总线;海量存储设备;块传输协议 1.引言 2.2.Linu】【下的驱动加载 通用串行总线 USB 2.0接13是目前PC机的主流接13.可提 LinUX下.对设备的访问是通过设备名称进行的。在建立一 供480Mb/s(60MB/s)的高速数据传输.具有即插即用、热插拔、 个 USB设备驱动之前.我们的驱动程序必须先获得一个设备编 接口体积小巧、节省系统资源、传输可靠、提供电源、良好的兼容 号.这是由内核提供的函数 register ehrdev(MMOR NR’DE. 性、共享式通信、低成本等优点。由于USB接13的优点和流行, VICE NAME。test fops)来实现的。对于该函数,MAJOR_NR是 当今嵌入式设计要和PC连接.首选 USB接口。 主设备号。DEVICE NAME是设备名称。test fo133则是ehr de- LinUX以其开源、易于移植和可裁剪性。越来越多地被应用 vice operations结构指针。这样.操作系统便可以通过chr_de- 于嵌入式系统。Linux内核支持2种主要类型的驱动程序:主机 vice operations将上层操作与驱动设备之间连接起来。 端和设备端驱动程序 主机端驱动程序控制与其连接的USB设 cllr device operations中提供了操作与驱动函数的接13。典 备从而使用设备的功能:设备端USB驱动程序控制设备如何与 型的操作如open(打开设备),release(关闭设备),iocfl(系统调 主机通信从而使其对主机表现出特定的功能 .此时的设备应理 用).read(读操作)。write(写操作)都是在该结构中与具体的驱动 解为运行 Unu】【的嵌入式系统。本文将着重分析的便是设备端 函数挂钩。如果没有上层空间对驱动的操作。该结构中可以全部 USB驱动程序的设计与实现。 填入空指针。 2.设计概述 该 USB设备驱动都是基于中断实现的.因此在驱动中必须 有中断的注册。中断注册是通过request 2.1.协议概述 _ irq(IRQ—NUM,irq_pro, 设计前首先需要了解 USB协议。 SA INTERRUPT。DEVICE NAME。NULL)内核函数实现。其中 USB采用树形拓扑结构。主机侧和设备侧USB控制器分别 IRO NUM是申请的中断号.SA INTERRUP,r为快速中断标志, 称为主机控制器 (Host Controller和 USB设备控制器 (UDC), DEVICE NAME是设备名。irq p130为中断处理函数指针。这个函 每条总线上只有一个主机控制器 .负责协调主机和设备问的通 数将中断号.设备以及处理函数联系了起来。当有IRQ—NUM中 信 .而设备不能主动向主机发送任何消息。主机控制器通过 断到来事时.操作系统则会知道是该 DEVICE NAME的中断, UDC的端点 (Endpoint)与设备进行通信 .端点由端点号和传输 并调用irq p1O函数进行中断处理。irq_ pro

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档