WinCE系统USB Mass Storage实现

作 者:ARM-WinCE

 

 

Mass Storage 的实际应用就是 U 盘,目标板和 PC 通过 USB 相连, PC 可以把目标板识别为 U 盘,在很多产品上都很常 用。这里介绍一下在 WinCE 系统中 U 盘功能的实现。

 

 

在谈 WinCE USB Mass Storage 实现之前,首先要具备以下条件:

1. 开发板支持 USBClient 设备。

2. 开发板上至少有一种存储设备可以被用来映射 为 U 盘。

 

现在 的处理器一般都带有 USB Client 或者是 USB OTG 控制器,并且 BSP 中都有相应的驱动。对于存储设备来说, Nandflash 或者 SD 卡 都可以作为存储设备。所以都不是什么问题。下面介绍一下步骤:

 

1. 选择 WinCE Mass Storage 组件

在定 制 WinCE 的时候,在 Catalog Items View 中选择 ”Device Drivers”->”USB Function”->”USB Function Clients”->”Mass Storage”

 

2. 更改 USB Client 驱动的注册表配置

WinCE 中, USB Client 驱动的注册表配置如下:

[HKEY_LOCAL_MACHINE/Drivers/USB/FunctionDrivers]

“DefaultClientDriver” :设置默认的 USB Client 驱动,这里应该是 Mass_Storage_Class

 

[HKEY_LOCAL_MACHINE/Drivers/USB/FunctionDrivers/Mass_Storage_Class]

“Dll” USB Client 的驱动

“DeviceName” 被映射为 U 盘的存储设备的设备名

“FriendlyName” 显示设备名

“idVendor” Vendor ID ,应该向 USB 组织申请

“idProduct” Product ID ,由厂商定义

“Manufacturer” 厂商名

“Product” 产品名

“bcdDevice” 设备的版本号

 

“InterfaceSubClass” USB Host 端通过该值来枚举设备, 06h 表示 Mass Storage

“InterfaceProtocol” USB 设备所支持的传输协议, 50h 表示 bulk-only

 

上面 对注册表的配置进行了介绍,这里给各例子:

[HKEY_LOCAL_MACHINE/Drivers/USB/FunctionDrivers]

   "DefaultClientDriver"="Mass_Storage_Class"

 

[HKEY_LOCAL_MACHINE/Drivers/USB/FunctionDrivers/Mass_Storage_Class]

   "Dll"="usbmsfn.dll"

   "InterfaceSubClass"=dword:06 

   "InterfaceProtocol"=dword:50 

   "DeviceName"="DSK1:" 

   "FriendlyName"="Mass Storage"

   "idVendor"=dword:048C

   "Manufacturer"="Honeywell"

   "idProduct"=dword:0001

   "Product"="Honeywell Mass Storage"

   "bcdDevice"=dword:0

 

3. 重新编译 WinCE 工程

由于 添加了新的组件,需要重新编译 WinCE 工程。

 

 

编译完成后,下载并运行,将设备通过 USB 连接到 PC 上, PC 就会将设备识别为 U 盘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值