阅读:1244回复:1
求教DSP+SL811 USB接口设计相关问题
求教DSP+SL811 USB接口设计相关问题
最近本人利用DSP处理器与SL811芯片在做一个USB接口,目的在于实现扩充DSP控制器较小的存储器,将DSP控制器的存储数据转移到外接在USB接口的U盘。 但是在操作进行中,遇到如下几个问题,希望各位前辈能为我指点迷津,或者能分享一下相关资料, EMAIL ekakio@sina.com 真诚感谢! 1、 在USB设备枚举过程中,在哪个具体环节或过程说明正枚举的设备是U盘?最好是能结合代码的实例说明。(USB设备很多,每种设备种类肯定有其类代码。) 2、 假设U盘是FAT32文件系统,那么结合C误言的FAT32文件读写流程图是怎样的? |
|
沙发#
发布于:2008-05-07 10:39
1. 枚举时接口描述符中三个项
设备类别, 子类,与协议,用下面的值就能使OS认为你是Mass Storage了 #define USB_CLASS_CODE_MASSSTORAGE 0x08 /* 接口描述符: 子类代码 */ #define USB_SUBCLASS_CODE_MASSSTORAGE 0x06 /* 接口描述符: 协议代码 */ #define USB_PROTOCOL_CODE_MASSSTORAGE 0x50 其实你拿个U盘BusHoud一下不就知了? 2. 我就只从文件系统开始说起.... OS先读你的DBR --- 一般是 0 page DBR中告诉OS你的FAT 及FDT位置及大小 一般读完DBR 在OS中就可以使用U盘了 当你打开U盘时 OS会读取 FAT 及FDT 这时就有文件列表了 当你读文件时OS会根据FDT及FAT记录读取相应的文件数据PAGE 如果是写入 OS一般会先写数据PAGE最后才写入FAT及FDT WindowsXP 非缓冲时即时写入 W2k 有可能要等到弹出U盘时才写入FAT与FDT 而且OS会缓存读出的PAGE 不一定读数据时会读你的U盘哦 |
|