DM9000AEP 调试笔记

最近在调试 DM9000AEP ,居然调试了2周, 把我给郁闷得要吐血了。

好了,言归正传:

1、把 6410 DM9000AEP 的驱动 COPY 到 S3C2450 的BSP 中。


2、修改 DM9000AEP 的数据偏移。

      这里需要注意,因为我使用的是 16BIT 总线,CMD 接 A1 , 为什么这里使用 04 能正常运行呢?

      还没想明白。

      #define DM9000_DATA_OFFSET0x04


3、设置系统的中断号,刚刚开始以为这是系统的物理中断号,直接把物理中断号记录设置为网络中断,

      结果始终没有参数中断。

     最后发现这个中断号应该使用系统分配的逻辑中断号。

     所以在 

BOOL BSPIntrInit()

        {

          //初始化 IO 为中断脚

         pOalPortRegs->GPGCON &= (~(3<<16));
pOalPortRegs->GPGCON |= ((2<<16));
pOalPortRegs->GPGUDP &= (~(3<<16));
pOalPortRegs->GPGUDP |= (2<<16);
pOalPortRegs->GPGDAT &= (~(1<<8));


pOalPortRegs->EXTINT2 &= (~(0xf<<0));
pOalPortRegs->EXTINT2 |= (0x01<<0) ;
pOalPortRegs->EINTPEND |= (1<<16) ;
pOalPortRegs->EINTMASK &= (~(1<<16));


//申请系统中断 SYSINTR_ETH 为 0X23
OALIntrStaticTranslate(SYSINTR_ETH, IRQ_EINT16);

      //使能中断
value = IRQ_EINT16;
OALIntrEnableIrqs(1, &value);

         }

        把这个 SYSINTR_ETH 设置为 IrqNumber

{ CID_IRQ_NUMBER, 0x23, NDIS_STRING_CONST("IrqNumber")},

4、设置 DM9000AEP 的读写地址,这个和接 CPU 的 NCS 脚有关。

      我的 DM9000AEP 的 CS 接 CPU 的 NCS1 ,

       而我的 NCS1 的读写地址是 0x8000000

       所以

{ CID_IO_BASE_ADDRESS, 0x8000000, NDIS_STRING_CONST("IoAddress")},

5、注意修改 NCS1 的总线宽度,为 16BIT ,这个至关重要,我之前没注意,所以导致读 ID 异常。

      pMATRIX->EBICON = 4;
// BANK1
pSSMCReg->SMBIDCYR1 = 0;
pSSMCReg->SMBWSTWRR1 = 14;
pSSMCReg->SMBWSTOENR1 = 2;
pSSMCReg->SMBWSTWENR1 = 2;
pSSMCReg->SMBWSTRDR1 = 14;  //14clk



pSSMCReg->SMBCR1 |= (1<<0);
pSSMCReg->SMBCR1 &= ~(3<<4);
pSSMCReg->SMBCR1 |= (1<<4) ; 

到此,驱动部分的修改结束。

下面开始做 注册表。注意注册表里面的 IOADDRESS 以及 IRQNUMBER 就可以了



[HKEY_LOCAL_MACHINE\Comm\DM9CE]
    "DisplayName"="DM9000A 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 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:1
    "XmitBuffer"=dword:20
    "RecvBuffer"=dword:20
    "IrqNumber"=dword:23
    "SysIntr"=dword:23
"IoAddress"=dword:08000000
"NetworkAddress"="e0aac8de6351"


[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms\TcpIp]
    "EnableDHCP"=dword:1
    "UseZeroBroadcast"=dword:0
;    "DefaultGateway"="192.168.1.1"
;    "IpAddress"="192.168.1.9"
;    "Subnetmask"="255.255.255.0"
;    "DNS"="202.96.128.166"
;    "WINS"="0.0.0.0"


[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
    "Start Page"="http://www.google.com"
    "Search Page"="http://www.google.com"


;[HKEY_LOCAL_MACHINE\System\ObjectStore\RegFlush]
;    "SpawnThread"=dword:1
;    "FlushPriority256"=dword:FF
;    "ActivityThreshold"=dword:100
;    "FlushPeriod"=dword:2710


[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent]
"Template"="Same as Windows XP"


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
    "EnableAutodial"=dword:0


这样 DM9000AEP 添加结束。




      



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值