-
本帖最后由 paulhyde 于 2014-9-15 04:19 编辑 添砖加瓦,建设四化。
-
不要迷恋哥,哥只是个传说
-
支持一下!!呵呵,不错
-
☆°﹒☆.﹒☆°﹒☆.﹒☆°﹒☆.﹒☆°﹒☆.﹒☆°
╔╩═══╗╔════╗╔════╗╔════╗
║真的很棒╠╣辛苦您了╠╣谢谢分享╠╣期待续贴╠
╚◎══◎╝╚◎══◎╝╚◎══◎╝╚◎══◎╝
°﹒☆°.﹒.°∴°﹒°.°☆°.°﹒°∴°.﹒.°☆﹒°
-
既然U盘是走的mass storage协议就不需要改什么
"idVendor"=dword:045E
"Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change idVendor)"
"idProduct"=dword:FFFF
这些只是显示在PC上边的内容,实际上只要走的mass storage协议,上边的设置是什么没关系。
另外mass sotrage功能通常不需要改PUBLIC下的代码,除非是你的CE设备中有两个盘符,你想在连接PC的时候把这两个盘符都送给PC,PC那边多出来两个移动磁盘,这样才需要改PUBLIC下的代码,我们的产品就是因为要在PC端同时显示NAND FLASH和SD卡这两个盘符才改了PUBLIC下的代码。
CE的U盘功能除了USB DEIVCE的PDD层驱动之外注册表也是十分重要的一项,因为PUBLIC下的MDD层是要读注册表的很多信息,详细的你可以看一下PUBLIC下USBFN的驱动代码,比如27楼所说描述的“DeviceName”这一项是USB驱动通过读这个信息来决定是把哪个盘符DismountStore,所以这里边的值一定要和你之前的FLASH盘符一致,比如说都是DSK1,否则是不行的。这一点你可以在CE设备下看看当连接PC后你的那个FLASH盘符是否还存在,正常情况下是会消失的,没消失肯定会成为无法识别的设备,当然,导致无法识别的设备原因有很多。
建议还是仔细研究一下USB MASS STORAGE枚举过程中的数据通信,然后结合BUS HOUND这个软件,再看PUBLIC下的MDD层代码和BSP中的PDD代码,会调试出来的。