导读就爱阅读网友为您分享以下“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
ParkInHost主机商是首次介绍到的主机商,这个商家是2013年的印度主机商,隶属于印度DiggDigital公司,主营业务有俄罗斯、荷兰、德国等机房的抗投诉虚拟主机、VPS主机和独立服务器。也看到商家的数据中心还有中国香港和美国、法国等,不过香港机房肯定不是直连的。根据曾经对于抗投诉外贸主机的了解,虽然ParkInHost以无视DMCA的抗投诉VPS和抗投诉服务器,但是,我们还是要做好数据备...
Hosteons,一家海外主机商成立于2018年,在之前还没有介绍和接触这个主机商,今天是有在LEB上看到有官方发送的活动主要是针对LEB的用户提供的洛杉矶、达拉斯和纽约三个机房的方案,最低年付21美元,其特点主要在于可以从1G带宽升级至10G,而且是免费的,是不是很吸引人?本来这次活动是仅仅在LEB留言提交账单ID才可以,这个感觉有点麻烦。不过看到老龚同学有拿到识别优惠码,于是就一并来分享给有需...
ucloud6.18推出全球大促活动,针对新老用户(个人/企业)提供云服务器促销产品,其中最低配快杰云服务器月付5元起,中国香港快杰型云服务器月付13元起,最高可购3年,有AMD/Intel系列。当然这都是针对新用户的优惠。注意,UCloud全球有31个数据中心,29条专线,覆盖五大洲,基本上你想要的都能找到。注意:以上ucloud 618优惠都是新用户专享,老用户就随便看看!点击进入:uclou...