导读就爱阅读网友为您分享以下“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
IT狗为用户提供 在线ping、在线tcping、在线路由追踪、域名被墙检测、域名被污染检测 等实用工具。【工具地址】https://www.itdog.cn/【工具特色】1、目前同类网站中,在线ping 仅支持1次或少量次数的测试,无法客观的展现目标服务器一段时间的网络状况,IT狗Ping工具可持续的进行一段时间的ping测试,并生成更为直观的网络质量柱状图,让用户更容易掌握服务器在各地区、各线...
justhost怎么样?justhost服务器好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯6个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!总体来说,性价比很高,性价比不错,有需要的朋友可以...
ATCLOUD.NET怎么样?ATCLOUD.NET主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解析、域名注册、SSL证书等海外网站建设服务。 其大部分数据中心是由OVH机房提供,其节点包括美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国以及新加坡。 提供超过480Gbps的DDoS高防保护,杜绝DDoS攻击骚扰,比较适合海外建站等业务。官方网站:点击访问ATCLOUD官网活...