原创 wince系统如何添加Intel82559er的网卡驱动

2009-5-20 10:25 5742 6 6 分类: MCU/ 嵌入式
我用的板子是台湾研华的PCM-3350,Intel82559er的网卡.由于wince不支持,板子从CF卡启动IMAGE后无法设置网络.

通过以下步骤添加Intel82559er的驱动(我用的BSP是CEPC,选用internet 模板定制的OS):

1.从INTEL下载了intel8255xer for wince5.0的驱动,把里头的e100ce5er.cec导入到目录中,在Third Party中出现了intel的驱动

2.参照所下载驱动的config.bib,在OS 的配置文件中加入为网卡保留的memory段,EPKTBUF 801DC000 00020000 RESERVED

3.在platform.reg中添加驱动的相关项如下:

; Intel(R) 8255x Registry configuration, if enabled
IF CEPC_INTELFE_PCI

;Create registry information for Intel(R) Miniport Driver


[HKEY_LOCAL_MACHINE\Comm\E100CE]
  "DisplayName"="Intel(R) Fast Ethernet Controller"
  "Group"="NDIS"
  "ImagePath"="e100ce.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\E100CE]
;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","8086"
  "DeviceID"=multi_sz:"1209","1229","2449","1031","1032","1033","1034","1035","1036","1037","1038","1039","103A","103B"
  "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:4
  "PortMask"=dword:20F0

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CE1\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\E100CE1\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\E100CEB]
  "DisplayName"="Intel(R) Fast Ethernet Controller"
  "Group"="NDIS"
  "ImagePath"="e100ce.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\E100CEB]
;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:"103C","103D","103E","1050","1051","1052","1053","1054","1055","1056","1057","2459","245D"
  "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:4
  "PortMask"=dword:20F0

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CEB1\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\E100CEB1\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\Drivers\BuiltIn\PCI\Template\E100CEC]
;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:4
  "PortMask"=dword:20F0

;Settings for DHCP IP Configuration, if enabled
IF DHCP
[HKEY_LOCAL_MACHINE\COMM\PCI\E100CEC1\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\E100CEC1\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

4.在platform.bib的module段,添加E100CE.dll $(_FLATRELEASEDIR)\E100CE.dll NK SH

5.拷贝e100ce.dll以及e100ce5er,e100ce5.rel三个文件到%winceroot\platform\yourplatform\files目录下(其中的yourplatform是指你所选的BSP对应的)

重新sysgen,注意选中clean before building

镜像起来后,即可设置网络项了
 

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条