注册表里面信息如下:
- IF BSP_DM9000 !
- [HKEY_LOCAL_MACHINE\Comm\DM9CE]
- "DisplayName"="DM9000A/9010 ISA Fast Ethernet Adapter"
- "Group"="NDIS"
- "ImagePath"="dm9isa.dll"
- [HKEY_LOCAL_MACHINE\Comm\DM9CE\Linkage]
- "Route"=multi_sz:"dm9ce1"
- [HKEY_LOCAL_MACHINE\Comm\DM9CE1]
- "DisplayName"="DM9000A/9010 ISA Fast Ethernet Adapter"
- "Group"="NDIS"
- "ImagePath"="dm9isa.dll"
- [HKEY_LOCAL_MACHINE\Comm\Tcpip\Linkage]
- "Bind"="dm9ce1"
- [HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms]
- "BusNumber"=dword:0
- "BusType"=dword:0
- "XmitBuffer"=dword:20
- "RecvBuffer"=dword:20
- "IrqNumber"=dword:23
- "MACAddress" =hex:00,0A,EB,FD,7A,00
- [HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms\TcpIp]
- "EnableDHCP"=dword:0
- "UseZeroBroadcast"=dword:0
- "DefaultGateway"="192.168.1.1"
- "IpAddress"="192.168.1.227"
- "Subnetmask"="255.255.255.0"
- "DNS"="192.168.1.1"
- ENDIF BSP_DM9000 !
Dm9isa.cpp里面有这么一段:
- =
- {
- { CID_CONNECTION_TYPE, -1, NDIS_STRING_CONST("ConnectionType") },
- { CID_SLOT_NUMBER, -1, NDIS_STRING_CONST("SlotNumber")},
- { CID_BUFFER_PHYSICAL_ADDRESS, 0, NDIS_STRING_CONST("BufferPhysicalAddress")},
- { CID_TXBUFFER_NUMBER, 0x20, NDIS_STRING_CONST("XmitBuffer")},
- { CID_RXBUFFER_NUMBER, 0x10, NDIS_STRING_CONST("RecvBuffer")},
- { CID_ADAPTER_NUMBER, 0, NDIS_STRING_CONST("AdapterNumber")},
- //{ CID_IO_BASE_ADDRESS, 0x08000300, NDIS_STRING_CONST("IoAddress")},// 这样应该就改成nGCS1了吧!!!
- { CID_IO_BASE_ADDRESS, 0x20300000, NDIS_STRING_CONST("IoAddress")},// 这里说明使用nGCS4???nGCS4所选通的对应的DRAM的地址?
- { CID_IO_RANGE, 0x10, NDIS_STRING_CONST("IoRange")},
- { CID_IRQ_NUMBER, 0X23, NDIS_STRING_CONST("IrqNumber")},// 这里是物理中断号???
- { -1,-1,NULL}
- };
请问:DM9000的CS口,那个地址是怎么决定的呢?即上面的,为什么0x20300000表示nGCS4选择?
看2440手册,nGCS4选择的起始地址为0x20000000,加了300000这个偏移地址有什么作用?
如果换成其他选择口,如nGCS1口,地址又是多少?
0x23表示接到哪个硬件中断口上了?迷惑中。。。。。。。。。。。。。。。。。。