8334|19

57

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

usbmsfn.dll从何而来? [复制链接]

windows mobile开发
因为要添加mass_storage_class驱动,要用到usbmsfn.dll文件
在release目录下是有这个文件的,但不知该文件从何而来。

msdn上讲mass storage的样例文件是在I:\wm604\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS\STORAGE中

但是在 I:\wm604\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS\STORAGE目录下进行build命令
会在I:\wm604\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL下生成scsi2dad.lib及usbmsfn_lib.lib两个文件
而不是usbmsfn.dll文件。

那么usbmsfn.dll文件是怎么生成的?
如果我改动上述目录里的文件,usbmsfn.dll文件会改动吗?

最新回复

帮顶  详情 回复 发表于 2008-11-26 16:57
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
肯定是项目自己生成的。但是路径不是放在你所期望的路径下。

你去项目属性中的general -- configuration type 看看生成是dll还是lib还是exe


如果是dll, 然后再去linker -- general -- output file里面看看输出的dll放在那个路径下。

 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
您做WM底层的?OK,这个应该是很常见的问题,应该是配置的问题了。您得去看看项目的配置,主要在OUTPUT FILE中,那里设置对不对。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
你说的是在IDE工程里,我知道你的意思,但不是我需要的。

生成什么类型的文件以及生成的名字都是在sources文件里定义的。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

5
 
你说的是在IDE工程里,我知道你的意思,但不是我需要的。

生成什么类型的文件以及生成的名字都是在sources文件里定义的。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
高手帮忙啊,可另加分
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
哈哈,要分,要分。

usbmsfn.dll不是你编译生成的,而是三星本来提供的DLL,在C:\WINCE500\PLATFORM\SMDK2440A\Files文件夹下面。


哈哈,楼主,很郁闷吧,找来找去,居然是三星提供的DLL,(*^__^*) 嘻嘻……
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

8
 
100分啊 白扔了。。。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 6 楼 gooogleman 的回复:
哈哈,要分,要分。

usbmsfn.dll不是你编译生成的,而是三星本来提供的DLL,在C:\WINCE500\PLATFORM\SMDK2440A\Files文件夹下面。


哈哈,楼主,很郁闷吧,找来找去,居然是三星提供的DLL,(*^__^*) 嘻嘻……


谢谢这位仁兄,我当然知道系统里面有了,但是我要修改它,但弄不清它的来龙去脉(怎么生成的),所以才有此发问。

usbmsfn.dll是微软提供的,因为windows mobile是微软的嘛,咋冒出个三星来,晕~~~ (*^__^*) 嘻嘻……
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
这个东西不是在PB生成的,是直接打包进去的。
这个微软不开源的,具体怎么实现就不知道了。

看看文档知道怎么用就可以了。
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

11
 
这个东西是由相关的Sysgen宏SYSGEN_USBFN_STORAGE控制生成的
具体代码在WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS\STORAGE下面,这里编译出来是一个lib文件,在Makefile里会把它生成DLL文件
如果需要手动修改其中的代码一个办法就是每改动一次做一次sysgen,另一办法就是把代码拿到BSP里,然后修改Sources文件,生成DLL文件出来


 
 
 

回复

94

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 10 楼 hzdysymbol 的回复:
这个东西是由相关的Sysgen宏SYSGEN_USBFN_STORAGE控制生成的
具体代码在WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS\STORAGE下面,这里编译出来是一个lib文件,在Makefile里会把它生成DLL文件
如果需要手动修改其中的代码一个办法就是每改动一次做一次sysgen,另一办法就是把代码拿到BSP里,然后修改Sources文件,生成DLL文件出来

也不用sysgen
只要把生成的LIB加到你工程代码的
\WINCE500\PBWorkspaces\chineseInteret\WINCE500\MCORE_ARMV4I\cesysgen\oak\lib下
然后找到BSP中用到这个LIB的地方,build current project
再然后make img即可
节省一大半时间
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
LS的,这个DLL不是由你的BSP生成出来的
你的这种做法只对那种链接到Public下面的库的才有效,最后的DLL是由你的BSP编译出来的
但这个不是。。。。
 
 
 

回复

95

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 10 楼 hzdysymbol 的回复:
这个东西是由相关的Sysgen宏SYSGEN_USBFN_STORAGE控制生成的
具体代码在WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CLASS\STORAGE下面,这里编译出来是一个lib文件,在Makefile里会把它生成DLL文件
如果需要手动修改其中的代码一个办法就是每改动一次做一次sysgen,另一办法就是把代码拿到BSP里,然后修改Sources文件,生成DLL文件出来


首先谢谢hzdysymbol的回复

俺有两个问题要问:
1. 按我的理解,生成dll文件的定义多在sources文件里,你说这个dll“在Makefile里会把它生成DLL文件”,
能否给出相关的makefile的代码或者在其文件所在的位置?

2. 你说的第二个办法,修改sources文件由生成lib改成生成dll,您试过类似的修改吗?毕竟dll与lib是不同的东西。

非常感谢。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 11 楼 wangxin_801115 的回复:
也不用sysgen
只要把生成的LIB加到你工程代码的
\WINCE500\PBWorkspaces\chineseInteret\WINCE500\MCORE_ARMV4I\cesysgen\oak\lib下
然后找到BSP中用到这个LIB的地方,build current project
再然后make img即可
节省一大半时间


俺现在就是找不到 “BSP中用到这个LIB的地方”,不知生成的lib是在哪被用的,谢谢
 
 
 

回复

102

帖子

0

TA的资源

一粒金砂(初级)

16
 
我当然两种方法都用过
makefile自己去找了,整个Public下面也同有几个Makefile
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

17
 
应该是那个SOURCES文件定义了,连到那个USBMSFN。LIB,然后产生什么USBMSFN。DLL
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 17 楼 donghaozheng 的回复:
搞定了,在外国一个网站上找到了答案
I:\wm604\PUBLIC\COMMON\OAK\BIN\I386 下有个sysgen_capture.bat

命令提示符下,切换到任何一个目录,比如:i:\wm604
然后输入sysgen_capture usbmsfn
就会在i:\wm604下生成sources.usbmsfn(可能还会有其他的)
这个文件里面就是系统怎样生成的usbmsfn.dll
也就是我们通常所见的sources文件


厉害,这个方法,有个朋友提过,在移植微软的驱动到BSP下面,他经常使用这个方法。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

19
 
帮顶
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

20
 
帮顶
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表