DM9000A的相关总结

1.原理

以FL2440为研究对象,DM9000A支持8位 16为模式,内部有64个寄存器、SRAM等,分别控制其工作,对于其寄存器的读写依靠地址端口和数据端口来控制,在系统移植的时候根据硬件连接设置:

#define      S3C24XX_PA_DM9000 0x20000300  
#define      S3C24XX_VA_DM9000 0xE0000000

static struct resource s3c_dm9000_resource[] = {  
                [0] = {  
                .start = S3C24XX_PA_DM9000,   .end      = S3C24XX_PA_DM9000+ 0x3,  
                .flags = IORESOURCE_MEM  
                },   //定义了地址端口物理地址
                [1]={  
                .start = S3C24XX_PA_DM9000 + 0x4, //CMD pin is A2  
                .end = S3C24XX_PA_DM9000 + 0x4 + 0x7c,  
                .flags = IORESOURCE_MEM  
                },   //定义了数据端口物理地址
                [2] = {  
                .start = IRQ_EINT7,  
                .end      = IRQ_EINT7,  
                .flags = IORESOURCE_IRQ  
                },  
                };  
 其中,20000300对应着Bank4的物理空间(2000000~27FFFFFF),由nGCS4连接DM9000A的CS管脚决定,之所以定义地址端口的地址为20000300,数据端口地址为200003010,因为硬件上ADDR2连接了DM9000A的CMD管脚,该管脚决定是对地址端口,还是对数据端口读写。


2. 因此为了完成对于DM9000的读写,需要通过下面的代码:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值