WinCE系统USB Mass Storage实现

 

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盘。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nanjianhui/archive/2009/08/20/4466741.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值