阅读:2320回复:8
请教关于DM9000驱动的问题
我目前在移植DM9000的驱动,从它的官方网站下载了源码,但是我实在搞不明白,那个sources文件里面定义的是生成一个lib文件,但是最终需要的是一个DLL文件啊,真是搞不明白是如何编译出DLL文件来的
帮助里面说将这个代码包拷贝到public目录下的netcard里面,最终生成了lib文件,我是不是在我的smdk2410的drivers目录下要建一个dm9000的目录来调用那个lib呢,并export一些接口呢? 参考8900的驱动,好象微软都是给做好了,直接从public下面给拷贝过来了 还请正在使用DM9000的朋友们帮个忙,你们的BSP里面对于DM9000这个驱动是怎么处理的,万分感谢!!! |
|
沙发#
发布于:2007-06-04 14:22
你仔细读一下README文件,那里会告诉你怎么编译成DLL文件。
2. Build driver Copy driver source code to $(_winceroot)\public\common\oak\drivers\netcard\dm9isa directory Add "dm9isa" to $(_winceroot)\public\common\oak\drivers\netcard\ dirs file Open WinCE Platform Builder, and create a new platform by wizard. Then click the menu bar [Build]->[Open Build Release Directory] and pop the DOS window. In the DOS window, change the directory to $(_winceroot)\public\common\oak\drivers\netcard\dm9isa. ex. cd $(_winceroot)\public\common\oak\drivers\netcard\dm9isa Use command "build -c" to complie and build the driver. ex. $(_winceroot)\public\common\oak\drivers\netcard\dm9isa>build -c Add "dm9isa" target to $(_winceroot)\public\common\cesysgen\makefile file Append "dm9isa" to all "rtl8139" rules or dependencies Add "dm9isa" to $(_winceroot)\public\cebase\oak\misc\winceos.bat file set CE_MODULES= dm9isa %CE_MODULES% |
|
板凳#
发布于:2007-06-04 15:35
引用第1楼zhengshijie于2007-06-04 14:22发表的 : 兄弟,我真的非常感谢你的回答,但是我从昨天晚上到今天下午,这个文件我已经读了不下50遍了,关键是它似乎没起什么作用啊,还是只生成一个dm9isa.lib文件,系统build的时候虽然做了sysgen,但是reldir目录下并没有我希望的dm9isa.dll文件,而且,我发现我的WINCE4.2的Public目录下根本没有cebase这个目录,老天!!! 另外,问一下,你的BSP是买板子的时候就带的DM9000的驱动,还是你也是从官方网站下了驱动后,自己做出来的? 谢谢,如果方便的话,我们能否邮件联系 dillonhua@gmail.com 再次感谢您的回答:) |
|
地板#
发布于:2007-06-04 17:11
Add "dm9isa" target to $(_winceroot)\public\common\cesysgen\makefile file
Append "dm9isa" to all "rtl8139" rules or dependencies Add "dm9isa" to $(_winceroot)\public\cebase\oak\misc\winceos.bat file set CE_MODULES= dm9isa %CE_MODULES% 在PUBLIC\COMMON\CESYSGEN\makefile中所有rtl8139的地方添加dm9isa,再在\public\cebase\oak\misc\winceos.bat 文件添加set CE_MODULES= dm9isa %CE_MODULES%,就能生成dm9isa.dll了。 |
|
地下室#
发布于:2007-06-04 17:23
没有这个目录,那你搜一下winceos.bat文件。
|
|
5楼#
发布于:2007-06-04 17:50
搜索了,好象就没有winceos.bat文件,呵呵,不过在CE6.0下面到是做出了dm9isa.dll文件,感觉网卡驱动都没有多少自己可做的工作。回去后在搜索看看
|
|
6楼#
发布于:2007-06-04 18:14
修改sources文件,直接生成dm9isa.dll,
!if 0 Copyright (c) Microsoft Corporation. All rights reserved. !endif !if 0 Use of this source code is subject to the terms of the Microsoft end-user license agreement (EULA) under which you licensed this SOFTWARE PRODUCT. If you did not accept the terms of the EULA, you are not authorized to use this source code. For a copy of the EULA, please see the LICENSE.RTF on your install media. !endif !IF ("$(_TGTOS)" == "CE") DEFFILE=dm9isa.def TARGETDEFNAME=dm9isa TARGETNAME=dm9isa #TARGETTYPE=LIBRARY WINCEOEM=1 TARGETTYPE=DYNLINK !ENDIF CDEFINES=$(CDEFINES) -DNDIS_MINIPORT_DRIVER -DDM9000 TARGETLIBS= \ $(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\ndis.lib \ $(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib \ $(_PROJECTROOT)\cesysgen\oak\lib\$(_CPUINDPATH)\ceddk.lib \ INCLUDES= SOURCES= dm9isa.cpp\ driver.cpp\ device.cpp\ common.cpp\ wince.c WINCETARGETFILE0=$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\dm9isa.def #xref VIGUID {be8ed5a8-f3d5-4f7f-84c8-84498bf447c7} #xref VSGUID {66b501a8-d6c0-45b5-a376-c6c9601c0c7d} |
|
7楼#
发布于:2007-06-04 18:30
我昨天晚上都试啦,编译不过去,不是简单的修改#TARGETTYPE=LIBRARY就能搞定的,呵呵,它既然作为Public的common下面的一部分,微软肯定有某种机制将他release的lib文件做成dll文件
我这个看来就是winceos.bat里面没加上的原因了,晚上回去再找找看,我的那个4.2怎么这样呢? 还是谢谢老兄的不厌其烦的帮忙,再次万分感谢,该回家喝汤啦 |
|
8楼#
发布于:2007-06-25 12:30
你下的这个驱动好像不支持2410吧,readme里面就写的三个platform啊
|
|