liuzm
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2008-06-30
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:2511回复:11

wince4.2 下的sd卡无法在“\”目录下显示

楼主#
更多 发布于:2008-04-02 21:05
小弟遇到的问题是这样的:s3c2410上运行有pb4.2定制的系统。系统由sd卡上启动,但在根目录下却看不到sd卡的文件夹。从控制面板->存储管理器中是能看到的sd卡插拔的,但系统只识别出了sd的容量,而没到得卡的文件格式信息,并且可以对其进行格式化,格式化再添加分区后,看属性为fstfs文件格式,且在根目录下能显示storage card文件夹并进行读写,然后这个卡在pc机上却无法识别了。文件系统我也添加了fatfs了。
现不知道问题出在什么地方了,请高手点拨下,小弟将不胜感激。

备注,从启动后的注册表中有如下的信息:
[HKEY_LOCAL_MACHINE\Drivers\Active\21]
'Hnd'=dword:004a9ae0
'Name'='SDC1:'
'Key'='\\Drivers\\SDCARD\\SDBusDriver'
'ClientInfo'=dword:00000000

[HKEY_LOCAL_MACHINE\Drivers\Active\22]
'Hnd'=dword:004a51d0
'Name'='SDC2:'
'Key'='Drivers\\SDCARD\\HostControllers\\SDSC'
'ClientInfo'=dword:00000000

[HKEY_LOCAL_MACHINE\Drivers\Active\24]
'Hnd'=dword:004b97e0
'Name'='DSK1:'
'Key'='\\Drivers\\SDCARD\\ClientDrivers\\Class\\SDMemory_Class'
'ClientInfo'=dword:004ab7e8

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDBusDriver]
'Order'=dword:00000020
'Dll'='SDBusDriver.dll'
'Entry'='SDBusDriverStartUp'

[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\MMC_Class]
'Dll'='SDMemory.dll'
'Prefix'='DSK'
'FSD'='FATFS.DLL'
'IOCTL'=dword:00000004
'BlockTransferSize'=dword:00000040
'Profile'='MMC'

[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]
'Dll'='SDMemory.dll'
'Prefix'='DSK'
'FSD'='FATFS.DLL'
'IOCTL'=dword:00000004
'BlockTransferSize'=dword:00000040
'Profile'='SDMemory'

[HKEY_LOCAL_MACHINE\Drivers\SDCARD\HostControllers]
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\HostControllers\SDSC]
'Dll'='SDCSDCard.dll'
'Prefix'='SDC'

[HKEY_LOCAL_MACHINE\Drivers\SDCARD\SDBusDriver]
'BusDriverHandle'=dword:004a9ae0
'Order'=dword:00000020
'Dll'='SDBusDriver.dll'
'Prefix'='SDC'
'ThreadPriority'=dword:00000064
'RequestListDepth'=dword:00000030

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC]
'Name'='MMC Card'
'Folder'='Storage Card'
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
'Name'='SD Memory Card'
'Folder'='Storage Card'
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMMC]
'Name'='SD/MMC Card'
'Folder'='存储卡'

[HKEY_LOCAL_MACHINE\System\StorageManager]
"Dll"="fsdmgr.dll"
"PNPUnloadDelay"=dword:00001000

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"FriendlyName"="FAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00000024
"Paging"=dword:00000001
"EnableCache"=dword:00000001
"CacheSize"=dword:00000000
"Util"="fatutil.dll"
"MountFlags"=dword:00000000
[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"01"="FATFS"
"04"="FATFS"
"06"="FATFS"
"07"="NTFS"
"0B"="FATFS"
"0C"="FATFS"
"0E"="FATFS"
"0F"="FATFS"
"20"="BOOT"
"21"="BINFS"
"22"="XIP"
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-02 22:41
[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable] 应该是这个注册键值设的不对,

01好像不是FAT,而0X10是FAT你并没有包含.
可以在控制面板中看一下,你格式化后的FLAG是多少就明白了,
设置了正确的值以后应该就好了.
学海无涯
liuzm
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2008-06-30
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-03 16:43
我先看了sd卡格式化后的Flag值,确实是0x10,但在注册表中加入"10"="FATFS"后,问题依然存在,又陷入困境了。。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-04-04 21:08
那你测一下DRIVER自己是不是对的,即写入的数据再读出还是不是对的,保证这个是以的了再做下一步的考虑.
学海无涯
liuzm
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2008-06-30
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-04-07 13:56
        刚刚测试过了,sd卡驱动应该是能正常运行的。过程:首先是,sd卡插入时,可以看到device.exe加载了sdmemory.dll(另外两个启动好就加载了)。然后在wince下对sd卡格式化、添加分区后,显示出了storage card文件夹。接下来,我从pc机上给该文件夹传送了一个文本文件,将sd卡拔下再插上,再下载该文件到pc上,一切正常。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-04-07 22:55
得试一个比较大的文件,比如几M,如果正常才能说明这个驱动大致是正常的.
学海无涯
liuzm
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2008-06-30
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-04-08 11:07
        对,昨天忘说了,我还下载过一个tcpmp,和一些多媒体文件(总大小近10M了),然后在wince上播放,都很正常的。这个驱动应该是没什么问题的。
    为什么在wince下和xp下格式化的sd卡相互不能识别呢?
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-04-10 07:38
你分析一下分区看看问题出在哪?还有,你的SD上有几个分区啊?
学海无涯
liuzm
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2008-06-30
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-04-15 19:37
sd卡是 sandisk 的1G 卡,只有一个分区。应该是wince的文件系统设置的问题,不过我又不知道问题出在哪,郁闷啊
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-04-16 09:52
引用第6楼liuzm于2008-04-08 11:07发表的  :
        对,昨天忘说了,我还下载过一个tcpmp,和一些多媒体文件(总大小近10M了),然后在wince上播放,都很正常的。这个驱动应该是没什么问题的。
    为什么在wince下和xp下格式化的sd卡相互不能识别呢?


上传一个大点的文件 到 SD卡,
然后再下载下来到PC上看看,能不能识别。
怀疑你的读写有问题。导致不能互相识别。
正常是可以识别的,
WinCE下面你挂载的是FAT文件系统吧,这个没什么问题。
做一个出色的程序员!
liuzm
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2008-06-30
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-04-18 10:16
        昨晚又试了下,用ActiveSync传输的速度确实慢啊。我已开始直接试传了下600M左右的东西,很快就出错了,sd卡得到一个64K的文件,后来又试了100M多一点的文件也出问题,同意得到一个64k的文件。
    然后我开始从小到大的试,结果从4M+,10M+,30M+,50M+,100M+,都成功了。
    还有个问题不太明白,在wince下对sd卡格式化时,并没有选项可以指定格式化为什么文件系统,wince是根据什么来对sd卡进行格式化的呢?
liuzm
驱动牛犊
驱动牛犊
  • 注册日期2008-04-02
  • 最后登录2008-06-30
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-04-24 21:40
        我又试了下,不从sd卡启动,把同样的nk.nb0烧到flash里面再启动,居然sd卡可以正常在目录下显示了,想不通啊。。。。
游客

返回顶部