uboot之u盘枚举
来源:互联网 发布:class反编译成java 编辑:程序博客网 时间:2024/05/01 00:59
UBOOT 之U盘枚举
简单的说下U盘的枚举过程,一下是我的U盘的枚举截图
在接口描述符,09 04 00 00 03 08 06 50 00,其后为三个端点描述符 03非0端点的数目 两个批量传输 一个interrupt 08 接口所使用的类为mass storage 06 子类为SCSI命令集 50 协议为批量传输 接着与U盘有关的就是从GET MAX LUN开始,返回长度为0001 a1 fe 00 00 00 00 01 00返回的00表示有1块逻辑块 接下来显示的是批量传输协议的数据流模型(封装UFI) 需要明白CBW和CSW结构,这里就不详细介绍,简单说明 0x43425355 为CBW和CSW的标志 0x85ca3cd8为主机分配的CBW签名,CSW返回也需要此值 0x00000024为请求的长度,36字节 80 D7表示传输数据方向 1为IN 0为OUT 00 低四位表示使用LUN 06 低五位表示返回的CBWCB长度 不足16字节补0 后面的16字节根据选择的子类(这里是SCSI命令集,实际上使用UFI) CSW就不分析了,总体而言,就是UFI命令被CBW封装,解析UFI之后,返回对应数据,最后以CSW(最后一个字节00表示传输成功)结束一次批量数据传输。 UFI(USB Floppy Interface)命令集介绍 (1) INQUIRY 查询U盘信息 发送: 12 00 00 00 24 00 00 00 00 … 12为 UFI INQUIRY操作码 00 D7~D5 逻辑单元号,0 24 为返回的数据分配的存储空间长度 36字节(前面请求的最大长度也不能超过36字节) 返回的数据具体看文档 内容包括外设类型,存储介质是否可移除,厂商信息,产品信息,产品版本信息(1.00 信息均为ACSII) (2) READ FORMAT CAPACITIES 读取可格式化容量 发送: 23 00 00 …00 fc 00… 23为 read format capacities 主机读取可能的格式化容量的列表 00fc 分配的缓冲区长度252 返回的数据: 00 00 00 08 00 1e bf fe 02 00 02 00 08 表示容量列表的长度 001ebffe 高字节在前 表示块数 02 描述符代码 000200 高字节在前 每块字节数512字节 容量=块数*每块字节数 (3) READ CAPACITY 读取可用的最大容量 发送:25 00 … 25为 操作码 读取可用容量 返回: 00 1e bf fe 00 00 02 00 001ebffe 最后逻辑块地址 (与可格式化容量一样表示没有其他块用作他用) 00000200 块大小 512字节 (4) READ(10) 28 00 …01. 28 为READ(10)操作码 逻辑块的地址为00000000 01为传输长度 就是读取以逻辑地址为起始地址,长度为1的块的内容 返回: 对应块的内容 (5) WRITE(10) 命令和(4)类似,略,操作码为0x2A (6) REQUEST SENSE 用于探测上一个命令执行失败的原因 (7) TEST UNIT READY 用来检测设备的某个逻辑单元是否准备好 对于U盘的操作,就是基于这些UFI来进行的。
- uboot之u盘枚举
- uboot之cdc_acm枚举
- uboot之u盘启动kernel
- uboot之u盘启动kernel
- uboot分析之u-boot.lds
- uboot分析之u-boot.lds
- uboot分析之u-boot.lds
- uboot分析之u-boot.lds
- 关于uboot之U盘启动——上课笔记2
- Uboot之u-boot.lds的链接脚本
- u-boot移植之三 uboot-2015.04的移植过程
- x210v3开发板u-boot-2012.10移植之二---如何学习uboot,掌握uboot结构
- Kingston U盘枚举过程翻译
- u-boot 之u-boot.img uboot.bin uboot_crc.bin 及 uboot_crc.bin.crc
- uboot 中s3c2440 usb ohci 及u盘移植
- uboot下使用U盘启动内核RT5350成功
- RT5350使用uboot从U盘启动linux成功
- uboot中对U盘文件进行读写
- 【转】短小精悍的线性时间素数筛法
- JavaScript break;
- android 2.2(froyo)源码下载
- x&(x-1)表达式的意义
- Cdev—每个次设备一个缓冲
- uboot之u盘枚举
- Qt 动态加载 dll 【开源中国】
- C#套用模板输出Excel,并对数据进行分页
- 探索好的Scrum每日立会
- ActiveX WM_GETDLGCODE 死循环问题
- View类简介
- SPOOL用法
- poj3253 Fence Repair( 贪心 )
- UVA 10088 Trees on My Island