导读就爱阅读网友为您分享以下“linux下USB大容量存储设备驱动分析与实现”资讯希望对您有所帮助感谢您对92to.com的支持!linux下USB大容量存储设备驱动分析与实现
【摘要】本文介绍了linux USB子系统架构及USB协议重点分析了linux下USB大容量存储设备驱动程序并结合U盘特点对设备驱动程序做了可靠的裁剪 以交叉编译和控制台调试的方式在TQ2440 ARM开发板上成功实现了设备驱动模块的加载与卸载最终达到了U盘热插拔和读写的目的。
【关键词】USB大容量存储设备设备驱动
1
USB universal serial bus通用串行总线是一种高速、支持即插即用和热插拔的总线标准 由inte l、 m ic ro so ft等公司制定适用于多种USB外围设备U盘、USB键盘鼠标、USB摄像头等与主机之间的高速数据传输 USB2.0协议规定的最大传输速率可达480Mb/s突破了传统串行总线的带宽限制。
Linux作为一种性能稳定可定制兼容性强的开源操作系统在嵌入式设备中得到了广泛应用且开发者可以方便地获得lin u x社区提供的强大技术支持从而能够大大降低开发成本。
本文以天嵌公司的TQ2440 ARM开发板为硬件平台 以linux2.6.30为操作系统内核通过串口工具secure CRT使用金士顿U盘作为USB存储设备 的分析并实现了lin u x 下USB大容量存储设备驱动。
1.USB子系统
类似于linux scsi子系统 USB子系统也采用树形拓扑结构层级关系因系统功能的不同而不同拓扑模型如图1所示。系统作为主机时拓扑层级为 USB设备驱动、 USB核
2
心、 USB主控制器驱动作为从设备时层级为 Gadget驱动、 Gadget API、 USB设备控制器驱动。本文以linux为主机系统 U盘为从设备 因此只讨论主机侧拓扑结构。
USB设备驱动负责向USB核心注册设备驱动、管理USB 设备的探测与断开、实现与USB核心通信 USB核心提供一系列数据结构宏定义和函数来抽象底层硬件设备为设备驱动和主控器驱动提供特定的接口读取并解析USB设备和配置描述符 为USB设备分配地址转发设备驱动数据包配置设备维护设备链表和设备驱动链表维护设备信息 USB主控制器驱动负责与核心层通信、管理主控制器与设备的实际通信。
通常厂商提供主控制器驱动而linux实现了USB核心
usb core部分 因此本文将研究USB设备驱动。
2.USB协议
2.1设备配置接口端点
3
百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网92to.com,您的在线图书馆
4
BGP.TO目前针对日本和新加坡服务器进行促销,其中日本东京服务器6.5折,而新加坡服务器7.5折起。这是一家专门的独立服务器租售网站,提供包括中国香港、日本、新加坡和洛杉矶的服务器租用业务,基本上都是自有硬件、IP资源等,国内优化直连线路,机器自动化部署上架,并提供产品的基本管理功能(自助开关机重启重装等)。新加坡服务器 $93.75/月CPU:E3-1230v3内存:16GB硬盘:480GB ...
ZJI怎么样?ZJI是一家成立于2011年的商家,原名维翔主机,主要从事独立服务器产品销售,目前主打中国香港、日本、美国独立服务器产品,是一个稳定、靠谱的老牌商家。详情如下:月付/年付优惠码:zji??下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达香港葵湾特惠B型 CPU:E5-2650L核心:6核12线程内存:16GB硬盘:480GB SSD带宽:5Mbps...
spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...