如何实现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 ...
随机推荐
- information_schema.key_column_usage 学习
information_schema.key_column_usage 表可以查看索引列上的约束: 1.information_schema.key_column_usage 的常用列: 1.cons ...
- IOS开发UI篇-NavigationController的基本使用
一.简介 一个iOS的app很少只由一个控制器组成,除非这个app极其简单 当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小v ...
- 巧用Graphviz和pvtrace等工具可视化C函数调用
http://guiquanz.github.io/2012/10/15/linux_c_call_trace/
- Delphi的文件操作(定义,关联,打开,读写,关闭)
参考自:http://www.cnblogs.com/railgunman/articles/1800318.html Delphi 中默认有input 和 output 两个文件变量,使用可以不用定 ...
- Redis Clients Handling
This document provides information about how Redis handles clients from the point of view of the net ...
- 《如何让TT T4模板输出多个文件(VS2010中)》-- access911.net 文章
<如何让TT T4模板输出多个文件(VS2010中)>-- access911.net 文章 问题: VS2010中自带的 TT 模板功能挺好用,但是如何定义其输出的目录,或者如何 ...
- kiki's game
欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: ...
- quick-cocos2d-x android返回键监听并实现原生退出对话框
这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇. 首先说明一 ...
- IOS将UIView转化为UIImage
+(UIImage*)createImageFromView:(UIView*)view { //obtain scale CGFloat scale = [UIScreen mainScreen]. ...
- 工作记录8:iOS 传值问题总结(7种传值完美介绍)
1.属性传值 前向后传值. 记住: /* 1: 属性传值第一步需要用到什么类型就定义什么样的属性 2: 从上一个页面到一个页面的选中方法里面将要传的值传到来(上一个页面)备注:这种方法只适用于上一个页 ...
