USB下文件系统USB下文件系统如果你开发过USB相关项目,理解USB的一些基本概念,例如设备描述符、配置描述符、子类规范等,那么开发U盘只要概念清晰应该不难。以下是我开发过程中的几个相关步骤:Ø 保证USB芯片正常工作,用其他USB成功项目验证硬件连接及固件的正确性Ø按MassStorage协议Bulk-Only模式提供描述符,使PC机控制面板上设备类型出现MassStorageDeviceØ 响应SCSI指令集中Inquiry命令,可以出现盘符Ø 实现FAT16文件系统Ø 处理SCSI命令集中READ命令及其他UFI命令,可以访问盘符Ø 处理SCSI命令集中WRITE命令Ø U盘开发成功开发U盘有三个工具软件应该必备:l USBVIEW察看设备描述符,端点测试等;l BUSHOUND截取USB总线数据,可分析UFI命令及U盘返回的数据流;l 串口助手可实时了解U盘所收命令流及程序流程由于每个人知识面不同,我想实现上面的几个步骤遇到的问题也不一样。对我最大的困惑是实现FAT16文件系统,直到在微软网站找到它的白皮书才算解惑。这里简介一下方便大家有的放矢。USB组织定义了海量存储设备类(MassStorageClass)的规范,这个类规范包括四个独立的子类规范,即:l USBMassStorageClassControl/Bulk/Interrupt(CBI)Transportl USBMassStorageClassBulk-OnlyTransportl USBMassStorageClassATAC……