如何实现Linux下的U盘(USB Mass Storage)驱动
如何实现Linux下的U盘(USB Mass Storage)驱动
版本:v0.7
How to Write Linux USB MSC (Mass Storage Class) Driver
Crifan Li
摘要
本文主要介绍了USB Mass Storage的相关的各种协议之间的关系,以及如何在Linux的USB驱动框架下实现U盘驱动
2013-09-05
| 修订历史 | ||
|---|---|---|
| 修订 0.4 | 2011-07-01 | crl | 
| 
 | ||
| 修订 0.7 | 2013-09-05 | crl | 
| 
 | ||
版权 © 2013 Crifan, http://crifan.com
目录
- 缩略词
- 正文之前
- 1. USB基本知识
- 2. USB Mass Storage大容量存储的基本知识
- 
- 2.1. USB Mass Storage相关的协议
- 
- 2.1.1. USB Mass Storage相关协议简介
- 
- 2.1.1.1. USB MSC Control/Bulk/Interrupt (CBI) Transport
- 2.1.1.2. USB MSC Bulk-Only (BBB) Transport
- 2.1.1.3. USB MSC UFI Command Specification
- 2.1.1.4. USB MSC Bootability Specification
- 2.1.1.5. USB MSC Compliance Test Specification
- 2.1.1.6. USB Lockable Storage Devices Feature Specification
- 2.1.1.7. USB MSC USB Attached SCSI Protocol (UASP)
 
- 2.1.2. USB MSC的各个协议之间关系总结
- 2.1.3. U盘与USB中的Class,Subclass和Protocol的对应关系
 
- 2.2. USB Mass Storage相关的软件实现
 
- 3. 实现U盘驱动的整个流程是什么样的
- 4. Linux系统下,USB驱动的框架已经做了哪些事情
- 5. Linux下实现U盘驱动,自己需要做哪些事情以及如何做
- 参考书目
插图清单
- 1. U盘
- 2.1. USB Mass Storage Framework
- 2.2. PC和U盘
- 2.3. PC和U盘的芯片内部结构
- 2.4. PC和U盘的内部逻辑框图
- 2.5. PC和USB MSC设备
- 2.6. USB MSC的分类
- 2.7. USB Storage Class Protocol Relation
- 2.8. SubClass Codes Mapped to Command Block Specifications
- 2.9. Mass Storage Transport Protocol
- 3.1. USB数据流向图
如何实现Linux下的U盘(USB Mass Storage)驱动的更多相关文章
- 实现Linux下的U盘(USB Mass Storage)驱动
		如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ... 
- linux下挂载U盘
		转:http://www.cnblogs.com/yeahgis/archive/2012/04/05/2432779.html linux下挂载U盘 一.Linux挂载U盘: 1.插入u盘到计算机, ... 
- Linux下用FFMPEG采集usb摄像头到RTMP
		Linux下用 FFMPEG 采集 usb摄像头视频 和 摄像头内置麦克风音频 到RTMP服务 ffmpeg -f video4linux2 -qscale 10 -r 12 -s 640x480 ... 
- USB Mass Storage学习笔记-STM32+FLASH实现U盘
		一.内容概述 采用STM32内部自带USB控制器外加大页NAND FLASH K9F1G08U0A实现一个128M的U盘. 1.STM32的USB控制器 STM32F103的MCU自带USB从控制器 ... 
- usb mass storage之旅
		前面总结了usb hid keyboard,现在总结usb mass storage,在枚举阶段没什么好总结的,hid和mass storage差不多,都是同样的枚举过程,但是在他们的配置描述符.接口 ... 
- USB mass storage协议
		这一节主要把在实现“linux模拟U盘功能”过程中的一些调试过程记录下来,并加以解析. 一.背景知识 1.USB Mass Storage类规范概述 USB 组织在univers ... 
- USB Mass Storage协议分析
		目录 简介 指令数据和状态协议 CBW指令格式 CSWCommand Status Wrapper状态格式 SCSI命令集 Format Unit Inquiry MODE SELECT 简介 USB ... 
- USB Mass Storage大容量存储的基本知识
		http://www.crifan.com/files/doc/docbook/usb_disk_driver/release/htmls/ch02_msc_basic.html 目录 2.1. US ... 
- Android USB Connections Explained: MTP, PTP, and USB Mass Storage
		Android USB Connections Explained: MTP, PTP, and USB Mass Storage Older Android devices support USB ... 
随机推荐
- bug的处理流程
			又属于一篇普及文,希望自己在被各种技术吸引的同时,能时常来整理和总结软件测试最基本的知识. 从刚工作时接触的第一个缺陷管理工具禅道,到redmine.JIRA.bugzilla ,再到现在的QC,当然 ... 
- MySQL--mysqldump的权限说明
			mysqldump 所需要的权限说明: 1.对于table 来说mysqldump 最少要有select 权限. 2.对于view 来说mysqldump 要有show view 权限. 3.对于tr ... 
- DataTable Select 使用
			DataView dv = new DataView(table); dv.RowFilter = " Type='10' and Visible='true'"; dv.Sort ... 
- UltraEdit的语法高亮显示配置
			今天吴同学看到我电脑中有UltraEdit好奇地问我会不会用,我那个汗啊,不会用我装它干什么啊?其实当时装UltraEdit主要是用来写Java的,没有想到,工作一忙顾及不上学习Java的事情了.于是 ... 
- HttpWebRequest.Method 属性
			public static void GetHead(string url) { var http = (HttpWebRequest)WebRequest.Create(url); http.Met ... 
- bzoj1648 [Usaco2006 Dec]Cow Picnic 奶牛野餐
			Description The cows are having a picnic! Each of Farmer John's K (1 <= K <= 100) cows is graz ... 
- 【DP问题集】动态规划试题
			1.背包问题 给定n种物品和一背包.物品i的重量是wi,其价值为pi,背包的容量为C.问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 分析: ①每个物品只有两种选择,要么就是塞到包里面, ... 
- Unity position和localposition
			1. position是根据世界原点为中心 2. localPosition是根据父节点为中心,如果没有父节点,localpositon和position是没有区别的 3.选中一个物体左上角Globa ... 
- 点击链接直接跳转到 App Store 指定应用下载页面
			//跳转到应用页面 NSString *str = [NSString stringWithFormat:@"http://itunes.apple.com/us/app/id%d" ... 
- poj1664 放苹果(递归)
			转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=1664 ------ ... 
 
			
		