12149|34

65

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

SOS,wince 5.0 Flash做U盘UsbMsFn!STORE_Init: failed to open store DSK2 [复制链接]

各位大虾:

我的平台是wince5.0 +2440

打算用Flash做U盘,在FLASH的部分注册表如下:
IF BSP_NONANDFS !

[HKEY_LOCAL_MACHINE\init\BootVars]
        "SystemHive"="ResidentFlash\\system.hv"
        "ProfileDir"="ResidentFlash"
        "Flags"=dword:3
        "DefaultUser"="default"
        "RegistryFlags"=dword:1  
        "Start DevMgr"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
    "DefaultFileSystem"="BINFS"
    "AutoPart"=dword:1
    "AutoMount"=dword:1
    "PartitionDriver"="mspart.dll"
    "Name"="Microsoft Flash Disk"
    "Folder"="ResidentFlash"
    "BootPhase"=dword:0
        "MountAsBootable"=dword:0
        "Flags"=dword:1000
       
; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
    "Flags"=dword:14
    "FormatTfat"=dword:1
    "CheckForFormat"=dword:1
   
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
    "Prefix"="DSK"
    "Dll"="smflash.dll"
    "Index"=dword:2
    "Order"=dword:0
    "Profile"="DSK"
    "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"


[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
    "Flags"=dword:00000014                ;FATFS_TFAT_ALWAYS|FATFS_FORCE_TFAT
    "MountFlags"=dword:1
     
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
    "DriverPath"="Drivers\\BuiltIn\\SMFLASH"
    "LoadFlags"=dword:1
    "BootPhase"=dword:0

               

ENDIF ; BSP_NONANDFS


USB的配置信息如下:
IF BSP_KITL != USBSERIAL
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SC2440USBFN]
   "Dll"="sc2440usbfn.dll"
   "Prefix"="UFN"
   "Priority256"=dword:64
   "IoBase"=dword:B1200000
   "IoLen"=dword:1000        ; Use one page
   "Irq"=dword:19
   "BusIoctl"=dword:2a0048
   "IClass"=multi_sz:"{E2BDC372-598F-4619-BC50-54B3F7848D35}=%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
   "DefaultClientDriver"=- ; erase previous default
   "DefaultClientDriver"="Mass_Storage_Class"

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class]
        "Dll"="usbmsfn.dll"
        "InterfaceSubClass"=dword:06
        "InterfaceProtocol"=dword:50
        "DeviceName"="DSK2:"
        "FriendlyName"="Mass Storage"
        "idVendor"=dword:045E
        "Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change idVendor)"
        "idProduct"=dword:FFFF
        "Product"="Generic Mass Storage (PROTOTYPE--Remember to change idVendor)"
        "bcdDevice"=dword:0

使用DEbug版本打印出信息是无法打开设备:
0x83d04000: UsbMsFn!STORE_Init: DeviceName = DSK2:
0x83d04000: UsbMsFn!STORE_Init: Removable = 1
0x83d04000: UsbMsFn!STORE_Init: failed to open store DSK2:; error = 4319

// error = 4319  设备没有就绪

请大家支歌招阿 多谢了。

此帖出自WindowsCE论坛

最新回复

这个2440 下我以前试过是可以的啊,就是修改dsk 的值  详情 回复 发表于 2013-12-17 15:11
点赞 关注
 

回复
举报

85

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
先看看error = 4319 代码什么意思吧
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
to 楼上的兄弟:

error = 4319 是 Getlasterro返回的,error = 4319 的意思是设备没有就绪
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
我觉得问题出在Flash的注册表设置,可是没找到,大家给点建议阿。。。
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
看了你的注册表,你是想通过usb把flash mount到pc上
但是由于你的smflash.dll是在autoload下加载的,所以你usb中openstore()的那个函数返回错误,
我猜想你应该是device name不对,你可以遍历一下device上所有的store,然后获得一个正确的设备名
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

6
 
多谢楼上的兄弟,不过我不是很明白你的这句话 :
可以解释下吗

我猜想你应该是device name不对,你可以遍历一下device上所有的store,然后获得一个正确的设备名
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
自己顶起来 ,免得沉了....
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 
不清楚你这样使用BINFS自动加载的盘符是否可以,我使用的都是FAT后加载的驱动产生的盘符。
估计是由于BINFS这部分内容由于保存着系统的文件,所以不允许unmount吧。
你没有其它的盘符了吗?可以用其它盘符试下。
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

9
 
"Index"=dword:2
改成1试下
此帖出自WindowsCE论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

10
 
to 楼上的兄弟:
我试验过了 最早是 1 后来改成2 的.
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

11
 
顶起来,等待救援...
此帖出自WindowsCE论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 7 楼 veabol 的回复:
不清楚你这样使用BINFS自动加载的盘符是否可以,我使用的都是FAT后加载的驱动产生的盘符。
估计是由于BINFS这部分内容由于保存着系统的文件,所以不允许unmount吧。
你没有其它的盘符了吗?可以用其它盘符试下。


请问Veabol兄:
如果不使用BINFS自动加载的盘符,我该怎么设置呢 ?
此帖出自WindowsCE论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

13
 
如果启动WINCE后你还有其它的盘符的话,看下其它的盘符是DKS多少,然后USB注册表那部分用对应的DSK几就行了
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(中级)

14
 
引用 12 楼 veabol 的回复:
如果启动WINCE后你还有其它的盘符的话,看下其它的盘符是DKS多少,然后USB注册表那部分用对应的DSK几就行了


Veabol兄:FLASH只是作为根目录,剩余的空间是作为一个文件夹存在的。
就是"ResidentFlash"

多谢你提醒 我想办法把它弄个盘符出来看下,google下,
奇怪的是MSDN怎么不能上了
此帖出自WindowsCE论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 13 楼 meifenxiazai 的回复:
引用 12 楼 veabol 的回复:
如果启动WINCE后你还有其它的盘符的话,看下其它的盘符是DKS多少,然后USB注册表那部分用对应的DSK几就行了


Veabol兄:FLASH只是作为根目录,剩余的空间是作为一个文件夹存在的。
就是"ResidentFlash"

多谢你提醒 我想办法把它弄个盘符出来看下,google下,
奇怪的是MSDN怎么不能上了

应该就是这个问题了
在mass storage情况下使用storage manager加载的块驱动不行,只能够使用device.exe/dll加载的块驱动,但是由于activesync情况下由于不涉及到store的unmount和mount,所以理论上应该是可行的,不过,我没有试过
此帖出自WindowsCE论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

16
 
。。。真笨,还没实现在FLASH 分区盘符。。。

努力中 ,大虾们有人做过吗?
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

17
 
顶起来,别沉了。。。。。
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

18
 
FLASH分区盘符要有相应的驱动。
如果你的板子支持SD卡的话你可以先把SD的盘符设置成 mass storage试下
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 17 楼 veabol 的回复:
FLASH分区盘符要有相应的驱动
如果你的板子支持SD卡的话你可以先把SD的盘符设置成 mass storage试下


to Veabol: SD卡是可以的 ,FLASH不行。

Veabol兄改过 这个吗 给各建议,多谢。。。
此帖出自WindowsCE论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

20
 
没改过,我的是BSP直接支持的。
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

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-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表