dillonhua
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望401点
  • 贡献值0点
  • 好评度128点
  • 原创分0分
  • 专家分0分
阅读:2320回复:8

请教关于DM9000驱动的问题

楼主#
更多 发布于:2007-06-04 10:10
我目前在移植DM9000的驱动,从它的官方网站下载了源码,但是我实在搞不明白,那个sources文件里面定义的是生成一个lib文件,但是最终需要的是一个DLL文件啊,真是搞不明白是如何编译出DLL文件来的

帮助里面说将这个代码包拷贝到public目录下的netcard里面,最终生成了lib文件,我是不是在我的smdk2410的drivers目录下要建一个dm9000的目录来调用那个lib呢,并export一些接口呢?

参考8900的驱动,好象微软都是给做好了,直接从public下面给拷贝过来了

还请正在使用DM9000的朋友们帮个忙,你们的BSP里面对于DM9000这个驱动是怎么处理的,万分感谢!!!
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
沙发#
发布于: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%
dillonhua
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望401点
  • 贡献值0点
  • 好评度128点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-04 15:35
引用第1楼zhengshijie于2007-06-04 14:22发表的  :
你仔细读一下README文件,那里会告诉你怎么编译成DLL文件。
2. Build driver

    Copy driver source code to
    $(_winceroot)publiccommonoakdriversnetcarddm9isa directory
.......



兄弟,我真的非常感谢你的回答,但是我从昨天晚上到今天下午,这个文件我已经读了不下50遍了,关键是它似乎没起什么作用啊,还是只生成一个dm9isa.lib文件,系统build的时候虽然做了sysgen,但是reldir目录下并没有我希望的dm9isa.dll文件,而且,我发现我的WINCE4.2的Public目录下根本没有cebase这个目录,老天!!!

另外,问一下,你的BSP是买板子的时候就带的DM9000的驱动,还是你也是从官方网站下了驱动后,自己做出来的?

谢谢,如果方便的话,我们能否邮件联系 dillonhua@gmail.com

再次感谢您的回答:)
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
地板#
发布于: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了。
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
地下室#
发布于:2007-06-04 17:23
没有这个目录,那你搜一下winceos.bat文件。
dillonhua
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望401点
  • 贡献值0点
  • 好评度128点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-06-04 17:50
搜索了,好象就没有winceos.bat文件,呵呵,不过在CE6.0下面到是做出了dm9isa.dll文件,感觉网卡驱动都没有多少自己可做的工作。回去后在搜索看看
zhengshijie
驱动小牛
驱动小牛
  • 注册日期2003-07-11
  • 最后登录2009-03-18
  • 粉丝1
  • 关注0
  • 积分8分
  • 威望217点
  • 贡献值0点
  • 好评度199点
  • 原创分3分
  • 专家分0分
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}
dillonhua
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望401点
  • 贡献值0点
  • 好评度128点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-06-04 18:30
我昨天晚上都试啦,编译不过去,不是简单的修改#TARGETTYPE=LIBRARY就能搞定的,呵呵,它既然作为Public的common下面的一部分,微软肯定有某种机制将他release的lib文件做成dll文件

我这个看来就是winceos.bat里面没加上的原因了,晚上回去再找找看,我的那个4.2怎么这样呢?

还是谢谢老兄的不厌其烦的帮忙,再次万分感谢,该回家喝汤啦
xinyu_hao
驱动小牛
驱动小牛
  • 注册日期2005-12-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1005分
  • 威望186点
  • 贡献值0点
  • 好评度145点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-06-25 12:30
你下的这个驱动好像不支持2410吧,readme里面就写的三个platform啊
游客

返回顶部