如何实现Linux下的U盘(USB Mass Storage)驱动How to Write Linux USB MSC (Mass Storage Class) Driver
版本: 0.4
作者: crifan
:green-waste (at) 163
版本历史
目录
1正文之前 (6)
1.1本文目的 (6)
1.2阅读此文所需要的前提知识 (7)
1.3声明 (7)
2USB基本知识 (8)
2.1USB的硬件 (8)
2.2USB相关的协议 (8)
2.3USB相关的软件实现 (8)
3USB Mass Storage大容量存储的基本知识 (9)
3.1USB Mass Storage相关的协议 (13)
3.1.1USB Mass Storage相关协议简介 (14)
3.1.1.1USB MSC Control/Bulk/Interrupt (CBI) Transport (14)
3.1.1.2USB 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.3USB MSC UFI Command Specification (16)
3.1.1.4USB MSC Bootability Specification (16)
3.1.1.5USB MSC Compliance Test Specification (17)
3.1.1.6USB Lockable Storage Devices Feature Specification (17)
3.1.1.7USB MSC USB Attached SCSI Protocol (UASP) (17)
3.1.1.7.1已有SCSI协议,为何还要再弄一个UASP (17)
3.1.2USB MSC的各个协议之间关系总结 (19)
3.1.3U盘与USB中的Class,Subclass和Protocol的对应关系 (20)
3.1.3.1bInterfaceClass=0x08=Mass Storage (21)
3.1.3.2bInterfaceSubClass=0x06=SCSI Transparent (21)
3.1.3.3bInterfaceProtocol=0x50=Bulk Only Transport (21)
3.2USB Mass Storage相关的软件实现 (22)
4实现U盘驱动的整个流程是什么样的 (23)
5Linux系统下,USB驱动的框架已经做了哪些事情 (24)
6Linux下实现U盘驱动,自己需要做哪些事情以及如何做 (25)
7引用文章 (26)
图表
图表 1 U盘 (6)
图表 2 USB Mass Storage Framework (9)
transparent中文翻译图表 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)
缩写
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论