WINCE6.0定制网卡驱动,急!!!

yzdiyu 2010-07-29 04:24:01
目前我用VS2005定制intel 8255QM的网卡驱动,但是WINCE启动后看不到添加的网络连接
现在我做了以下几件事
第一我在platform.bib的MODULES中添加了
e100ce6.dll $(_FLATRELEASEDIR)\e100ce6.dll NK SHK
第二我在platform.reg中添加了

IF CEPB_INTELFE_PCI

;Create registry information for Intel(R) Miniport Driver

[HKEY_LOCAL_MACHINE\Comm\E100CE6]
"DisplayName"="Intel(R) Fast Ethernet Controller"
"Group"="NDIS"
"ImagePath"="e100ce6.dll"


;Create registry information for template (will be copied to ALL instances of
;adapters using the Intel Miniport Driver)

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\E100CE6]
;PCI Bus Enumeration Information
"Class"=dword:02
"SubClass"=dword:00
"ProgIF"=dword:0
"VendorID"=multi_sz:"8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086"
"DeviceID"=multi_sz:"1229","2449","1031","1032","1033","1034","1035","1036","1037","1038","1039","103A","103B"
"Dll"="NDIS.dll"
"Entry"="NdisPCIBusDeviceInit"
"Transceiver"=dword:3
"MiniPort"="E100CE6"
;Installable ISR Handler Information
"IsrDll"="giisr.dll"
"IsrHandler"="ISRHandler"
"PortIsIO"=dword:0
"PortOffset"=dword:0
"PortSize"=dword:2
"PortMask"=dword:FF00

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CE61\Parms\TcpIp]
"EnableDHCP"=dword:1
; This should be MULTI_SZ
"DefaultGateway"=""
; Use zero for broadcast address? (or 255.255.255.255)
"UseZeroBroadcast"=dword:0
; This should be MULTI_SZ, the IP address list
"IpAddress"="0.0.0.0"
; This should be MULTI_SZ, the subnet masks for the above IP addresses
"Subnetmask"="0.0.0.0"
ENDIF ;//DHCP

;Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CE61\Parms\TcpIp]
"EnableDHCP"=dword:0
; This should be MULTI_SZ
"DefaultGateway"="1.2.3.0"
; Use zero for broadcast address? (or 255.255.255.255)
"UseZeroBroadcast"=dword:0
; This should be MULTI_SZ, the IP address list
"IpAddress"="1.2.3.4"
; This should be MULTI_SZ, the subnet masks for the above IP addresses
"Subnetmask"="255.0.0.0"
ENDIF ;//Static IP

[HKEY_LOCAL_MACHINE\Comm\E100CE6B]
"DisplayName"="Intel(R) Fast Ethernet Controller"
"Group"="NDIS"
"ImagePath"="e100ce6.dll"


;Create registry information for template (will be copied to ALL instances of
;adapters using the Intel Miniport Driver)

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\E100CE6B]
;PCI Bus Enumeration Information
"Class"=dword:02
"SubClass"=dword:00
"ProgIF"=dword:0
"VendorID"=multi_sz:"8086","8086","8086","8086","8086","8086","8086","8086","8086","8086","8086"
"DeviceID"=multi_sz:"103C","103D","103E","1050","1051","1052","1053","1054","1055","1056","1057"
"Dll"="NDIS.dll"
"Entry"="NdisPCIBusDeviceInit"
"Transceiver"=dword:3
;Installable ISR Handler Information
"IsrDll"="giisr.dll"
"IsrHandler"="ISRHandler"
"PortIsIO"=dword:0
"PortOffset"=dword:0
"PortSize"=dword:2
"PortMask"=dword:FF00

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CE6B1\Parms\TcpIp]
"EnableDHCP"=dword:1
; This should be MULTI_SZ
"DefaultGateway"=""
; Use zero for broadcast address? (or 255.255.255.255)
"UseZeroBroadcast"=dword:0
; This should be MULTI_SZ, the IP address list
"IpAddress"="0.0.0.0"
; This should be MULTI_SZ, the subnet masks for the above IP addresses
"Subnetmask"="0.0.0.0"
ENDIF ;//DHCP

;Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CE6B1\Parms\TcpIp]
"EnableDHCP"=dword:0
; This should be MULTI_SZ
"DefaultGateway"="1.2.3.0"
; Use zero for broadcast address? (or 255.255.255.255)
"UseZeroBroadcast"=dword:0
; This should be MULTI_SZ, the IP address list
"IpAddress"="1.2.3.4"
; This should be MULTI_SZ, the subnet masks for the above IP addresses
"Subnetmask"="255.0.0.0"
ENDIF ;//Static IP

[HKEY_LOCAL_MACHINE\Comm\E100CE6C]
"DisplayName"="Intel(R) Fast Ethernet Controller"
"Group"="NDIS"
"ImagePath"="e100ce6.dll"

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\E100CE6C]
;PCI Bus Enumeration Information
"Class"=dword:02
"SubClass"=dword:00
"ProgIF"=dword:0
"VendorID"=multi_sz:"8086","8086","8086","8086","8086","8086","8086","8086"
"DeviceID"=multi_sz:"1064","1065","1066","1067","1068","1069","106A","106B"
"Dll"="NDIS.dll"
"Entry"="NdisPCIBusDeviceInit"
"Transceiver"=dword:3
;Installable ISR Handler Information
"IsrDll"="giisr.dll"
"IsrHandler"="ISRHandler"
"PortIsIO"=dword:0
"PortOffset"=dword:0
"PortSize"=dword:2
"PortMask"=dword:FF00

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CE6C1\Parms\TcpIp]
"EnableDHCP"=dword:1
; This should be MULTI_SZ
"DefaultGateway"=""
; Use zero for broadcast address? (or 255.255.255.255)
"UseZeroBroadcast"=dword:0
; This should be MULTI_SZ, the IP address list
"IpAddress"="0.0.0.0"
; This should be MULTI_SZ, the subnet masks for the above IP addresses
"Subnetmask"="0.0.0.0"
ENDIF ;//DHCP

;Settings for static IP configuration, if enabled
IF STATIC_IP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CE6C1\Parms\TcpIp]
"EnableDHCP"=dword:0
; This should be MULTI_SZ
"DefaultGateway"="1.2.3.0"
; Use zero for broadcast address? (or 255.255.255.255)
"UseZeroBroadcast"=dword:0
; This should be MULTI_SZ, the IP address list
"IpAddress"="1.2.3.4"
; This should be MULTI_SZ, the subnet masks for the above IP addresses
"Subnetmask"="255.0.0.0"
ENDIF ;//Static IP

ENDIF ;//Intel(R) miniport registry additions
以上这一段是intel的说明文档中的内容.
第三我在项目的环境变量中添加了CEPB_INTELFE_PCI =1
第四我把下载的几个文件复制到了platform\cepc\files的目录下
第五 以前在5.0会有一个cec文件,但是6.0没有只有pbcxml,我用vs2005打开cec就报错,怎么改都不对,所以我也就没有转换,添加这个catalog.
我想问题就应该出在第五上面,希望大家能够帮我想想办法,谢谢啊
...全文
465 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sstower 2011-07-13
  • 打赏
  • 举报
回复
收藏了
单片机社区 2010-10-02
  • 打赏
  • 举报
回复
这个问题我也遇到过。我是在PC104上运行WINCE6。当初也是没法联网,找不到ipv4 adapter。其实是网卡的驱动不对,最后根据网卡芯片,安装驱动是e100ce.dll,就可以了。
现在又遇到同样问题。我打算在vmware里面装个wince,结果也是网络连接不上。安装AMD pcnet还是intel e1000 pro网卡驱动都不行。网上找到一个用amd pcnet(是用wince2.1的驱动)做的wince6虚拟机却是好用的,但是用他的bsp自己做的os image也是不行。真是郁闷啊~~~~~
  • 打赏
  • 举报
回复
做开发,每当你感到痛苦的时候,就说明你正在提高,呵呵。我也没什么更好的办法,提几个建议吧:

1. 以前我也做过和你类似的事情,一般Intel发布新的驱动时都会提供一个文档,告诉你如何更新。如果你有这个文档,再好好看看吧。
2. 不太了解你的平台,在加载WinCE的时候,是否有网卡相关的打印信息?你可以注意一下。
3. 检查注册表配置,是否还有需要改动的地方。

祝你好运!
molabo 2010-08-02
  • 打赏
  • 举报
回复
还没有弄过,围观中。。。。
qiuzyan 2010-08-02
  • 打赏
  • 举报
回复
nanjianhui,你好,我在注册表里设置了静胎IP,系统起来后,IP地址没有ping通;Core OS"->"CEBASE"->"Shell and User Interface"->"User Interface中的组件也是默认添加进去了的
太痛苦了,问题还是没有找到啊
  • 打赏
  • 举报
回复
在你的WinCE工程中,选择"Core OS"->"CEBASE"->"Shell and User Interface"->"User Interface"下面可以找到这个组件,确认它选中了。

我看你的注表表信息中好像还要设置STATIC_IP或者DHCP环境变量?你是否设置了?一种简单的方法就是你在注册表中为网卡设置一个静态IP,然后你通过另一台电脑来ping它,就知道网卡工作了没有。
  • 打赏
  • 举报
回复
关于你的第五个问题,你可以用记事本打开并编辑,推荐一篇我的文章:
http://blog.csdn.net/nanjianhui/archive/2008/09/12/2918392.aspx

其实pbcxml的作用无非是让你可以在你的工程中看到它并选择它。不修改pbxcml文件也可以添加你的驱动,你上面的方法是可以的。在你重新编译WinCE之后,你可以在工程的release目录下找到ce.bib和reginit.ini两个文件,检查你网卡的dll是否出现在ce.bib文件中,你的注册表配置是否在reginit.ini文件中。
中国168 2010-07-30
  • 打赏
  • 举报
回复
看看是不是漏加了组件:Network User Interface

重新编译看看.
xilidecai 2010-07-30
  • 打赏
  • 举报
回复
下面我来说说我的理解吧
一般OEM厂家会提供驱动的,从你的描述来看,估计应该给的是.dll形式的驱动,也就是你说的e100ce6.dll。
你需要做的:
1.添加进内核,platform.bib
2.添加注册表,platform.reg(驱动的一些参数可以在这里进行修改)
3.定制内核
a.选择模板,CEPCX86(intel的应该是X86的),Indrustrial device(具体参见你的手册)...
b.将e100ce6.dll复制到$(_WINCEROOT)\OSDesigns\<YourProjectName>
\<YourProjectName>\WINCE600\CEPC_x86\OAK\files路径下
c.build and sysgen
4.OK,下载并进行连接性测试
qiuzyan 2010-07-30
  • 打赏
  • 举报
回复
不好意思,我看错了,你说的ce.bib和reginit.ini里面是有网卡信息的,但是系统里面看不到网络连接啊
qiuzyan 2010-07-30
  • 打赏
  • 举报
回复
nanjianhui 你好,上面的问题是我问的,我根据你说的在ce.bib和reginit.ini都没有找到网卡信息,我不知道问题在哪儿了,你能不能说的跟清楚一点,谢谢
qiuzyan 2010-07-30
  • 打赏
  • 举报
回复
zhoukq ,你好,关于Network User Interface 组件,你能不能说的更详细一点,我现在的问题是没有办法在系统中看到这个网络连接.但是网卡的DLL和注册表信息我在镜像文件中可以看到.

19,518

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧