控制端点(通常)用于向 USB 设备发送命令。
批量端点(通常)用于将数据传输到 USB 设备。
批量数据的结构没有定义。
但是在控制传输中定义了数据的结构。
主机发送一个 8 字节的数据包,其中包含有关命令的信息(如请求 ID、命令参数、在数据阶段传输的数据长度等)。然后可选地接收/发送一些数据,最后主机/设备都通过移动到状态阶段来同意命令的成功。而已!
但是,魔鬼在细节中,请参阅 USB 规范。:)
所有 USB 存储器(笔式驱动器、存储卡、硬盘驱动器)都适用于 USB 大容量存储类。
使用大容量存储类,您可以执行内存读写,但其之上的文件系统(例如:EXT3、FAT ...)需要另一个驱动程序。
所以,本质上是读/写文件。您需要连接到设备:
- 连接到设备(你已经完成了)
- 识别并控制大容量存储接口
- 编写大容量存储类驱动程序
- 编写将使用大容量存储类驱动程序读取/写入文件的文件系统驱动程序
- 在您的项目中使用文件系统驱动程序 api。
要编写大容量存储类驱动程序,您必须阅读 USB 大容量存储类规范
http://www.usb.org/developers/docs/devclass_docs/并且您正在寻找的只是 Bulk
然后,参考您针对该设计和规范的文件系统。(如果可供使用的话)
AFAIK,Android 具有连接到 USB 的文件系统安装工具,因此您正在重新发明轮子。
额外说明:
某些文件系统未公开记录(尽管可能存在反向 engg 信息)(例如:NTFS)
,并且某些文件系统(部分)获得了专利。(例如:脂肪)