OK6410开发板 , 裸机驱动DM9000网卡的问题 - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

OK6410开发板 , 裸机驱动DM9000网卡的问题

本帖最后由 C4已安放A区 于 2015-12-23 10:06 编辑

先上代码 #define DM9000_ADDR (*((volatile unsigned long *) 0x18000000))
#define DM9000_DAT (*((volatile unsigned long *)0x18000004))

#define SROM_BW (*((volatile unsigned long *) 0x70000000))
#define SROM_BC1 (*((volatile unsigned long *) 0x70000008))


void dm9000_platform_init()   /*   */
{
        /* 6410 rom总线时序配置  */
        SROM_BW &= (~(0xf<<4));
        SROM_BW |=  (0xd<<4);  /* 数据总线 为 16 bit */
        SROM_BC1 =0x40e1460;   /* 时序配置 */
}



void dm9000_write_reg(u16 dm9000_write_addr,u16 dm9000_write_dat)  /*写 寄存器 */
{
        DM9000_ADDR = dm9000_write_addr;
        DM9000_DAT = dm9000_write_dat;
}

u16 dm9000_read_reg(u16 dm9000_read_addr)   /* 读 寄存器  */
{
        DM9000_ADDR = dm9000_read_addr;
        return (unsigned short)DM9000_DAT;
}


不管怎么操作DM9000都没有反应,网口灯也没反应,读任何寄存器的值都是0,程序是在裸机上跑的,请问这是这么回事? 是不是还有什么东西没有设置好的?

(硬件绝对是好的,因为跑操作系统的时候网口是正常工作的,也能够ping通)

2个回复

回帖奖励 +1 分积分

吴晓良 发表于 2016-2-1 17:30:27
楼主问题目前如何了,还需要帮忙吗  可以联系我。
sinap_zhj 发表于 2016-2-2 08:43:45
一起学习、共同进步、共同提高、共同成长!
您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /6 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-12-19 03:09 , Processed in 0.577122 second(s), Total 42, Slave 31 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表