导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]8019网卡驱动[fengtiantian]

 *第16854篇: [求助]8019网卡驱动

  
楼 主:fengtiantian 2007年8月22日15:36
 [求助]8019网卡驱动
检查硬件的时候发现page0寄存器基本没有问题,但对page1的物理地址寄存器进行操作的时候发现不可读写,一直为0。
初始化代码如下:
int eth_init (bd_t * bd)
{
 eth_reset ();
 put_reg (RTL8019_COMMAND, RTL8019_PAGE0STOP);
 put_reg (RTL8019_DATACONFIGURATION, 0x48);
 put_reg (RTL8019_REMOTEBYTECOUNT0, 0x00);
 put_reg (RTL8019_REMOTEBYTECOUNT1, 0x00);
 put_reg (RTL8019_RECEIVECONFIGURATION, 0x00); /*00; */
 put_reg (RTL8019_TRANSMITPAGE, RTL8019_TPSTART);
 put_reg (RTL8019_TRANSMITCONFIGURATION, 0x02);
 put_reg (RTL8019_PAGESTART, RTL8019_PSTART);
 put_reg (RTL8019_BOUNDARY, RTL8019_PSTART);
 put_reg (RTL8019_PAGESTOP, RTL8019_PSTOP);
 put_reg (RTL8019_INTERRUPTSTATUS, 0xff);
 put_reg (RTL8019_INTERRUPTMASK, 0x11); /*b; */
 put_reg (RTL8019_COMMAND, RTL8019_PAGE1STOP);
 put_reg (RTL8019_PHYSICALADDRESS0, bd->  bi_enetaddr[0]);
 put_reg (RTL8019_PHYSICALADDRESS1, bd->  bi_enetaddr[1]);
 put_reg (RTL8019_PHYSICALADDRESS2, bd->  bi_enetaddr[2]);
 put_reg (RTL8019_PHYSICALADDRESS3, bd->  bi_enetaddr[3]);
 put_reg (RTL8019_PHYSICALADDRESS4, bd->  bi_enetaddr[4]);
 put_reg (RTL8019_PHYSICALADDRESS5, bd->  bi_enetaddr[5]);
 put_reg (RTL8019_MULTIADDRESS0, 0x00);
 put_reg (RTL8019_MULTIADDRESS1, 0x00);
 put_reg (RTL8019_MULTIADDRESS2, 0x00);
 put_reg (RTL8019_MULTIADDRESS3, 0x00);
 put_reg (RTL8019_MULTIADDRESS4, 0x00);
 put_reg (RTL8019_MULTIADDRESS5, 0x00);
 put_reg (RTL8019_MULTIADDRESS6, 0x00);
 put_reg (RTL8019_MULTIADDRESS7, 0x00);
 put_reg (RTL8019_CURRENT, RTL8019_PSTART);
 put_reg (RTL8019_COMMAND, RTL8019_PAGE0);
 put_reg (RTL8019_TRANSMITCONFIGURATION, 0xe0); /*58; */

 return 0;
}

在进行put_reg (RTL8019_PHYSICALADDRESS0, bd->  bi_enetaddr[0]);操作的时候发现写不进去。

不知道是什么原因。有哪位大侠能指点一下?


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:[原创]求助

[下一篇主题]:招聘硬件开发工程师(国网武汉高压研究院)