我用Windows embedded ce 6.0裁剪的新x86内核总是不能加载网卡驱动,网卡是Intel82559,请求高手帮助!
我用的方法和Wince 5.0及4.2是一样的,将相关注册表信息加到project.bin,但是系统起来后就是没有网络连接(这个特性也加了)。
添加到BIB文件中的设置是需要改的,
6.0跟5.0不一样,类型应该是SHK,
K表示内核态,是必须要有的,否则驱动会加载不上。
我是这样做的,
1.在project.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"
"VendorID"=multi_sz:"8086"
"DeviceID"=multi_sz:"1229"
"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"="192.168.0.1"
; Use zero for broadcast address? (or 255.255.255.255)
"UseZeroBroadcast"=dword:0
; This should be MULTI_SZ, the IP address list
"IpAddress"="192.168.0.2"
; This should be MULTI_SZ, the subnet masks for the above IP addresses
"Subnetmask"="255.255.255.0"
ENDIF ;//Static IP
ENDIF ;//Intel(R) miniport registry additions
2 在project.bin文件里添加
MODULES
;Name Path Memory Type
e100ce6.dll F:\IntelEmbedded600\PRO100\WinCE600\x86\e100ce6.dll NK SHK
可是系统起来后就是没有网络连接
我用的也是E100CE的网卡,注册表内容是Intel提供的,和你的比较了一下,基本上都是一样的。
我也更改了project.bib文件,添加内容如下:
FILES
;Name Path Memory Type
e100ce.dll %_FLATRELEASEDIR%\e100ce6.dll NK SH
不过我在创建系统镜像文件时,是把e100ce.dll先拷贝到%_FLATRELEASEDIR%目录下。
这个拷贝动作可以在VS2005中设置,自定义构建动作Pre_MakeImage中,使用DOS命令即可
其他就没怎么设置了,不过在Debug版本下,网卡能看到和设置,却ping不通电脑,Release好使。
这一点让我费了不少功夫。
应该说与文件的拷贝方式是没有什么关系的。但是我就是不知道是怎么回事,就是看不到网卡