我有个smdk2440的wince5.0bsp包,该bsp包只支持cs8900驱动,我从mini2440的bsp里面把DM9000的驱动拷贝出来放到放到前面那个smdk2440的bsp包中,修改platform.reg,和platform.bib文件。CS8900用的中断用的是EINT9,我的板子连接上也是DM9000连接到EINT9.DM9000的片选为ngcs4,而cs8900的片选为ngcs3.我在platform.bib中加入一下:
IF BSP_DM9000
dm9000.dll $(_FLATRELEASEDIR)\cs8900.dll NK SH
ndis.dll $(_FLATRELEASEDIR)\ndis.dll NK SH
ENDIF BSP_DM9000
在platform.reg文件中加入以下:
IF BSP_DM9000
[HKEY_LOCAL_MACHINE\Comm\DM9CE]
"DisplayName"="DM9000 ISA Fast Ethernet Adapter"
"Group"="NDIS"
"ImagePath"="dm9000.dll"
[HKEY_LOCAL_MACHINE\Comm\DM9CE\Linkage]
"Route"=multi_sz:"DM9CE1"
[HKEY_LOCAL_MACHINE\Comm\DM9CE1]
"DisplayName"="DM9000 ISA Fast Ethernet Adapter"
"Group"="NDIS"
"ImagePath"="dm9000.dll"
[HKEY_LOCAL_MACHINE\Comm\Tcpip\Linkage]
"Bind"="DM9CE1"
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms]
"BusNumber"=dword:0
"BusType"=dword:1
"XmitBuffer"=dword:20
"RecvBuffer"=dword:20
; "SysIntr"=dword:26
; "IrqNumber"=dword:26
"IoAddress"=dword:20000300
"SysIntr" = dword:1A
"IrqNumber" = dword:1A
; "IoAddress" = dword:A8000300
"UseSoftwareMac"=dword:1
"SoftwareMacAddress0"=dword:20
"SoftwareMacAddress1"=dword:04
"SoftwareMacAddress2"=dword:09
"SoftwareMacAddress3"=dword:18
"SoftwareMacAddress4"=dword:00
"SoftwareMacAddress5"=dword:07
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms\TcpIp]
"EnableDHCP"=dword:0
"DefaultGateway"="192.168.1.1"
"LLInterface"=""
"UseZeroBroadcast"=dword:0
"IpAddress"="192.168.1.234"
"Subnetmask"="255.255.255.0"
"DNS"="192.168.1.1"
;"WINS"="192.168.0.1"
ENDIF BSP_DM9000
然后编译内核,结果运行打印出的信息显示,进入了CS8900驱动的DriverEntry还是,根本没有进入DM9000驱动的DriverEntry函数。没有执行任何DM9000的代码。不知道什么原因,望高手指导