ekakio
驱动牛犊
驱动牛犊
  • 注册日期2008-05-04
  • 最后登录2008-06-04
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:1244回复:1

求教DSP+SL811 USB接口设计相关问题

楼主#
更多 发布于:2008-05-04 15:09
求教DSP+SL811 USB接口设计相关问题

最近本人利用DSP处理器与SL811芯片在做一个USB接口,目的在于实现扩充DSP控制器较小的存储器,将DSP控制器的存储数据转移到外接在USB接口的U盘。

但是在操作进行中,遇到如下几个问题,希望各位前辈能为我指点迷津,或者能分享一下相关资料,
EMAIL  ekakio@sina.com 真诚感谢!

1、    在USB设备枚举过程中,在哪个具体环节或过程说明正枚举的设备是U盘?最好是能结合代码的实例说明。(USB设备很多,每种设备种类肯定有其类代码。)


2、    假设U盘是FAT32文件系统,那么结合C误言的FAT32文件读写流程图是怎样的?
skertone
驱动牛犊
驱动牛犊
  • 注册日期2006-06-23
  • 最后登录2015-03-12
  • 粉丝0
  • 关注0
  • 积分476分
  • 威望99点
  • 贡献值0点
  • 好评度48点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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盘哦
游客

返回顶部