9494|23

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince 5下能否通过USB device实现标准的U盘? [复制链接]

开发的wince 5设备有USB device,现在已经可以通过active sync来和Winxp PC实现同步。

但是感觉这个sync功能太强了,不希望用户能查看所有的wince文件。仅仅需要实现U盘的功能就可以了

就是通过usb device连接PC,用户仅仅看到一个U盘,可以读写文件就可以了

这个怎么实现?

最新回复

切换之后是否需要rebootwince?不reboot的话怎么实现??  详情 回复 发表于 2009-6-3 10:57
点赞 关注

回复
举报

83

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
可以,一般是改USB部分的注册表文件,默认的同步模式改为"Mass_Storage_Class"就可以了
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
当然可以。实现方法说起来简单,就是修改USB的驱动了。当然,做起来就不是这么容易了。不过很多平台都已经实现了这个功能,你可以找一个和你的平台相近的参考一下了。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
1楼正解!
其实USB MASS STORAGE 和ACTIVESYNC可以共存的,方法就是操作注册表来切换
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
1、改注册表是可以的,但是如果别人又改回去,就失效了
2、改驱动比较保险,无论怎样改注册表,都无法访问
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
mark
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

7
 
我也修改了serial_class 为mass_storage_class,可以通过usb device来识别为一个U盘

但是有几个问题还没有解决

这个U盘可以识别SD/MMC卡 因为sd mmc卡为DSK1 DSK2 但是不能识别我的nandflash分区 nandflash分为两个部分 binfs和剩余的为fat分区 wince中可以读写fatfs 但是我查看registry 发现这个nandflash没有export为DSK

另外一个问题 连接USB线,SD作为U盘 则wince中SD folder自动消失, wince不能读写了 去掉usb连接 SD还不会自动出现 这个还需要能自动回来

我想知道怎么能把nandflash作为一个U盘实现??
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 6 楼 sdssly 的回复:
我也修改了serial_class 为mass_storage_class,可以通过usb device来识别为一个U盘

但是有几个问题还没有解决

这个U盘可以识别SD/MMC卡 因为sd mmc卡为DSK1 DSK2 但是不能识别我的nandflash分区 nandflash分为两个部分 binfs和剩余的为fat分区 wince中可以读写fatfs 但是我查看registry 发现这个nandflash没有export为DSK

另外一个问题 连接USB线,SD作为U盘 则wince中SD folder自动消失, wince不能读写了 去掉usb连…


NANDFLASH的FATFS在你的WINCE界面里边没有显示成一个盘符吗?如果显示成一个盘符了就方便了,把它设置成DSK3,然后在USBMS注册表中的DeviceName设成DSK3,就可以了。
拔掉USB连接,SD不能自动恢复,估计是你的BSP的USBFN驱动有问题。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

9
 
我的nandflash的fat分区在wince中只是一个文件夹 storage manger中是MSFLASH 没有出现DSK的前缀
这个是怎么回事?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
DSK的前缀是在WINCE界面下显示的?都不会有DSK的前缀吧?至少我这边的是这样,都是一个普通的文件夹名,只是图标和普通的文件夹不太一样,如果你的SD卡之类的在WINCE名字是DSK1,那只是一个名字而已。
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

11
 
uping
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

12
 
我这里wince显示中是一个磁盘的盘符,不是一个文件夹的图标。但是在registry中的drivers\active中找不到这个flash对应的dsk设备

其他的ramdisk和SD显示也是磁盘的图标,但是在registry中可以找到对应的active的DSK1 DSK2
存储管理器中显示的ramdisk和SD有DSK1: DSK2:的前缀 但是那个nandflash就是一个smflash microsoft flash disk

我是在nandflash上保存registry的 registry中有一个[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]

是不是这个会影响?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

13
 
我也是在NANDFLASH上保存注册表

你的NANDFLASH注册表中有这两句吗?
"Prefix"="DSK"
"Index"=dword:3
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

14
 
我googl中发现这个
http://www.tech-archive.net/Archive/WindowsCE/microsoft.public.windowsce.platbuilder/2007-06/msg00403.html

说是这个autoload会影响 我的registry设置如下
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
    "Prefix"="DSK"
    "Dll"="smflash.dll"
    ;"Index"=dword:1
    "Order"=dword:0
    "Profile"="SMFLASH"
    "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
                ;"BootPhase"=dword:0
    ;"flags"=dword:1000
    "FriendlyName"="NAND disk driver"

index已经注释了 我感觉这个没有影响
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

15
 
你试试吧
我的nandflash驱动不是这个,是除了它另外的
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 14 楼 Veabol 的回复:
我的nandflash驱动不是这个,是除了它另外的


你说除了之外的,是什么意思??

我的不能去掉autoload 去掉之后wince启动错误 因为registry在nandflash上 能不能说一下你的nandflash配置?

我的分为两个区 binfs保存xip.bin 剩下的为fat分区 保存registry wince中可以读写文件
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

17
 
我还有一个ondisk.dll是专门处理nandflash的
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

18
 
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
   "Prefix"="DSK"
   "Dll"="ONDisk.dll"
   "Order"=dword:1
   "Index"=dword:3
   "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
   "Profile"="FlashDisk"
   "BmlVolumeId"=dword:0        ; BML volume ID = 0
   "BmlPartitionId"=dword:8        ; BML parition ID = PARTITION_ID_FILESYSTEM
   "WMRStartSector"=dword:0
   "WMRNumOfSector"=dword:40000        ; 128MByte
   "Flags"=dword:11000        ; do not load again in boot phase 2        ;
   ;"Flags"=dword:1000        ; do not load again in boot phase 2        ;


[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
    "DefaultFileSystem"="FATFS"
    "PartitionDriver"="mspart.dll"
    "Name"="PocketMory MLC Disk"
    "Folder"="System"
    "AutoMount"=dword:1
    "AutoPart"=dword:1
    "AutoFormat"=dword:1
    "MountAsBootable"=dword:1   

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
    "FriendlyName"="PocketMory FAT FileSystem"
    "Dll"="fatfsd.dll"
    "Flags"=dword:00000014                        ; FATFS_ENABLE_BACKUP_FAT | FATFS_DISABLE_AUTOSCAN
    "FormatTfat"=dword:1
    "EnableCacheWarm"=dword:0
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

19
 
Veabol说的onedisk.dll专门处理nandflash 是不是有多片nandflash?

registry保存在另外的nandflash上? 如果只有一个nandflash,读写registry的操作dll和onedisk.dll同时对一个flash操作 是否会冲突?

你的registry中的autoload是怎么配置的?
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

20
 
顶,学习!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表