阅读:3732回复:27
如何让PC通过USB认出wince设备的SD卡?
我的开发板加了sd卡,开机可以认出了,我想问一下有没有方法,让设备通过USB和PC相连时,PC把SD卡认出来,像U盘一样?
|
|
沙发#
发布于:2007-07-23 07:43
实现一个USB FUNCTION驱动,MDD层CE已经提供,只需要实现PDD层的代码.
CE已经同时实现了Mass Storage, RNDIS, Serial等三种设备. |
|
|
板凳#
发布于:2007-07-23 10:13
斑竹大哥,请问一下,我想开发板与PC连接时作为一个U盘,即不许要在PC端安装同步软件,就可以访问开发板上的文件 ?即如何实现MASS STORAGE
|
|
地板#
发布于:2007-07-24 09:09
斑竹,您说的这些我已经实现了,但是USB连上PC后,只能看到我的NAND分区,看不到SD卡分区。我估计是注册表的问题了,可不知道需要设置个什么值?
|
|
地下室#
发布于:2007-07-24 09:50
只要SD卡能挂载上,通过activesync应该就能看到
jasonshi没用activesync吗 |
|
|
5楼#
发布于:2007-07-24 10:32
没用,用activesync需要加什么驱动?
用USB不行吗? |
|
6楼#
发布于:2007-07-26 20:48
你看MASS STORAGE的驱动下面有一个设置使用哪个DSK设备,默认是DSK1,你看SD卡是DSK几,设置成它就好了.
|
|
|
7楼#
发布于:2007-07-27 10:39
是指的SD的index吗?如果是的话就不行,我试了。
|
|
8楼#
发布于:2007-07-27 19:36
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class]
下有一个设置 "DeviceName"="DSK1:" 把它改成SD的名字就行了,按你的情况,NAND是DSK1,如果没有别的存储设备,SD应该是DSK2: |
|
|
9楼#
发布于:2007-07-30 09:14
谢谢版主,我试试,不能nand和SD同时用usb连到PC上吗?
|
|
10楼#
发布于:2007-10-16 16:36
记号
|
|
|
11楼#
发布于:2007-10-16 16:45
好像不行,USB一次只能连一个Device设备。
你可以试试硬盘,如果硬盘有多个分区的话,貌似只能挂上一个分区。 还有想问问你?怎么把NAND给当作DSK的?注册表怎么设置的? 我的不能把NAND当作USB Device设备。 多谢jasonshi 。 |
|
|
12楼#
发布于:2007-10-17 09:43
楼上几位都是自己搞了USB DEVICE驱动的吧?
也就是不用 active sync |
|
|
13楼#
发布于:2007-10-23 16:01
以下是我的注册表设置
[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"="Serial_Class" "DefaultClientDriver"="Mass_Storage_Class" [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class] "Dll"="usbmsfn.dll" "InterfaceSubClass"=dword:06 "InterfaceProtocol"=dword:50 "DeviceName"="DSK1:" "removable"=dword:0 "FriendlyName"="Mass Storage" ; idVendor must be changed. 045E belongs to Microsoft and is only to be used for ; prototype devices in your labs. Visit http://www.usb.org to obtain a vendor id. "idVendor"=dword:0726 "idProduct"=dword:C3C8 "Manufacturer"="KingPolar.inc" "Product"="PND35" "bcdDevice"=dword:0 [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class] "FriendlyName"=LOC_USBFN_SERIAL_NAME "idVendor"=dword:0547 "Manufacturer"=LOC_USBFN_SERIAL_MANUFACTURER "idProduct"=dword:2720 "Product"=LOC_USBFN_SERIAL_PRODUCT "Index"=dword:5 [HKEY_CURRENT_USER\ControlPanel\Comm] "Cnct"="`USB" 问题是插到PC上,在PC端任务栏可以看到一个小图标,但是没看到驱动盘,这是什么问题呢,谢谢 |
|
14楼#
发布于:2007-10-24 10:31
楼上老兄是5.0做的吧?
你看看你的CBW有问题没 |
|
|
15楼#
发布于:2007-10-24 10:54
我也出现了13楼的问题, 郁闷.还麻烦哪个达人指点下啊.
|
|
|
16楼#
发布于:2007-10-26 09:46
Wince 只支持暴露一个store 给pc,如果要多个必须修改mass的client driver,13楼兄弟,你检查一下CBW,另外你Device的当前状态,可能会发现一些问题的 。。呵呵
|
|
17楼#
发布于:2007-10-26 09:50
PS,我已经通过动态查找Device 的store来实现多个store的问题,思路供需要的兄弟参考..
FindStore()->比较是否是我想暴露的->openstore->DismountStore |
|
18楼#
发布于:2007-10-26 12:16
werna 兄能否给个mail或者加我qq 31906073 小弟有问题请教下
|
|
|
19楼#
发布于:2007-10-27 11:07
我的email:werna@163.com,我觉得把问题放在论坛上可以得到更多的人提供的思路,我也是刚刚写完Mass storage,现在正在调Active sync,对USB也是新手,还需要向大家学习~
|
|
上一页
下一页