U盘枚举(自己总结)

更新时间:2023-07-18 19:00:04 阅读: 评论:0

插入U
直接拔出
安全拔出
A9枚举
Linux USB gadget设备驱动解析(2---驱动调试
作者:刘洪涛, 华清远见嵌入式学院金牌讲师。
这一节主要把在实现linuxU盘功能过程中的一些调试过程记录下来,并加以解析。
一、背景知识
1USB Mass Storage红包简笔画类规范概述
USB 组织在universal Serial Bus Mass Storage Class Spaceification 1.1版本中定义了海量存储设备类(Mass Storage Class)的规范,这个类规范包括四个
独立的子类规范,即:
1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport
2.USB Mass Storage Class Bulk-Only Transport
3.USB Mass Storage Class ATA Command Block
4.USB Mass Storage Class UFI Command Specification
两个子规范定义了数据/命令/状态在USB 上的传输方法。Bulk- Only 传输规范仅仅使用Bulk 端点传送数据/命令/状态,CBI 传输规范则使用Control/Bulk/Interrupt 三种类型的端点进行数据/命令/状态传送。后两个子规范则定义了存储介质的操作命令。幼儿园大班随笔ATA 命令规范用于
硬盘,UFI 命令规范是针对USB 移动存储。
Microsoft Windows 中提供对Mass Storage 四办指的是什么协议的支持,因此USB 移动设备只需要遵循 Mass Storage 协议来组织数据和处理命令,即可实现与PC 机交换数据。而Flash 的存储单元组织形式采用FAT16 文件系统,这样,就可以直接在Windows的浏览器中通过可移动磁盘来交换数据了,Windows 负责对FAT16 文件系统的管理,USB 设备不需要干预FAT16 文件系统操作的具体细节。
USBHost)唯一通过描述符了解设备的有关信息,根据这些信息,建立起通信,在这 些描述符中,规定了设备所使用的协议、端点情况等。因此,正确地提供描述符,是USB 设备正常工作的先决条件。
Linux- 2.6.26内核中在利用USB gadget驱动实现模拟跳绳是有氧运动吗U盘时主要涉及到file_storage.cs3c2410_udc.c等驱动文件(这些文件的具体结构,将在下一篇文章中 描述)。此时我们想先从这些代码中找到USB描述描述符,从中确定使用的存储类规范,从而确定协议。确定通讯协议是我们调试的基础。
存储类规范是由接口描述符决定的。接口描述符各项的定义义如下:
怎么去虾线
钓竿   其中,bInteaceClassbInterfaceSubClassbInterfaceProtocol信用卡和借记卡可以判断出设备是否是存储类,以及属于哪种存储子类和存储介质的操作命令。
file_storage.c文件中,
   /* USB protocol value = the transport method */
#define USB_PR_CBI    0x00         // Control/Bulk/Interrupt
#define USB_PR_CB      0x01         // Control/Bulk w/o interrupt
#define USB_PR_BULK        0x50           // Bulk-only
   /* USB subclass value = the protocol encapsulation */
#define USB_SC_RBC  0x01           // Reduced Block Commands (flash)
#define USB_SC_8020  0x02           // SFF-8020i, MMC-2, ATAPI (CD-ROM)
#define USB_SC_QIC   0x03           // QIC-157 (tape)
#define USB_SC_UFI   0x04           // UFI (floppy)
#define USB_SC_8070  0x05           // SFF-8070i (removable)
#define USB_SC_SCSI  0x06           // Transparent SCSI
杜绝校园欺凌
      默认的情况是:
mod_data = {                                    // Default values
.transport_parm                      = "BBB",
.protocol_parm                        = "SCSI",
……

本文发布于:2023-07-18 19:00:04,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1086689.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:规范   设备   描述符   协议
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图