最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

如何实现Linux下的U盘(USB Mass Storage)驱动 v0.4

USB crifan 2444浏览 0评论

如何实现Linux下的U盘(USB Mass Storage)驱动

How to Write Linux USB MSC (Mass Storage Class) Driver

版本: 0.4

作者: crifan

联系方式:green-waste (at) 163.com


由于本文内容太长,不方便此处发表全文,所以只列出了目录。

这里有PDF版本:

如何实现Linux下的U盘(USB Mass Storage)驱动 v0.4.pdf

1. 如何实现Linux下的U盘(USB Mass Storage)驱动 v0.4.pdf (991.07 KB)

2。如何实现Linux下的U盘(USB Mass Storage)驱动 v0.4 - carifan - work and job 如何实现Linux下的U盘(USB Mass Storage)驱动 v0.4.pdf   


版本历史

版本

时间

内容更新

作者

0.4

2011-07-01

1.介绍如何在Linux下实现U盘驱动

crifan

目录
1 正文之前 6
1.1 本文目的 6
1.2 阅读此文所需要的前提知识 7
1.3 声明 7
2 USB基本知识 8
2.1 USB的硬件 8
2.2 USB相关的协议 8
2.3 USB相关的软件实现 8
3 USB Mass Storage大容量存储的基本知识 9
3.1 USB Mass Storage相关的协议 13
3.1.1 USB Mass Storage相关协议简介 14
3.1.1.1 USB MSC Control/Bulk/Interrupt (CBI) Transport 14
3.1.1.2 USB MSC Bulk-Only (BBB) Transport 15
3.1.1.2.1 为何USB MSC中Bulk-only Transport被叫做 BBB 15
3.1.1.2.2 为何已经有了CBI,又再弄出个BBB 15
3.1.1.3 USB MSC UFI Command Specification 16
3.1.1.4 USB MSC Bootability Specification 16
3.1.1.5 USB MSC Compliance Test Specification 17
3.1.1.6 USB Lockable Storage Devices Feature Specification 17
3.1.1.7 USB MSC USB Attached SCSI Protocol (UASP) 17
3.1.1.7.1 已有SCSI协议,为何还要再弄一个UASP 17
3.1.2 USB MSC的各个协议之间关系总结 19
3.1.3 U盘与USB中的Class,Subclass和Protocol的对应关系 20
3.1.3.1 bInterfaceClass=0x08=Mass Storage 21
3.1.3.2 bInterfaceSubClass=0x06=SCSI Transparent 21
3.1.3.3 bInterfaceProtocol=0x50=Bulk Only Transport 21
3.2 USB Mass Storage相关的软件实现 22
4 实现U盘驱动的整个流程是什么样的 23
5 Linux系统下,USB驱动的框架已经做了哪些事情 24
6 Linux下实现U盘驱动,自己需要做哪些事情以及如何做 25
7 引用文章 26

 

 图表
图表 1 U盘 6
图表 2 USB Mass Storage Framework 9
图表 3 PC和U盘 10
图表 4 PC和U盘的芯片内部结构 10
图表 5 PC和U盘的内部逻辑框图 11
图表 6 PC和USB MSC设备 12
图表 7 USB MSC的分类 12
图表 8 USB Storage Class Protocol Relation 19
图表 9 SubClass Codes Mapped to Command Block Specifications 21
图表 10 Mass Storage Transport Protocol 21
图表 11 USB数据流向图 23

 

缩写

缩写

全称

含义

注释

MSC

Mass Storage Class

大容量存储类型

常说的大容量存储设备,就是此处的MSC设备,最常见的例子就是U

SAM4

 

ISO/IEC 14776-414, SCSI Architecture Model-4 (SAM-4) (ANSI INCITS 447:2008)

SCSI架构的Mode-4

 

Spec

Specification

规范

 

转载请注明:在路上 » 如何实现Linux下的U盘(USB Mass Storage)驱动 v0.4

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
84 queries in 0.184 seconds, using 22.14MB memory