各位,小弟最近在看《嵌入式应用开发完全手册》书关于网卡dm9000驱动移植部分的章节,有点不明白的地方:
dm9000定义了三个资源,1.dm9000的基地址,2.dm9000的基地址+4,3中断号(代码如下)
static struct resource dm9000_resources[] = {
[0] = {
/*Jack:check s3c6410 data sheet we can know that S3C64XX_PA_DM9000=0x18000000*/
.start = S3C64XX_PA_DM9000,
.end = S3C64XX_PA_DM9000 + 3,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = S3C64XX_PA_DM9000 + 4,
.end = S3C64XX_PA_DM9000 + S3C64XX_SZ_DM9000 - 1,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = IRQ_EINT(7),
.end = IRQ_EINT(7),
.flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH,
},
};
用网卡的连线图也可知s3c6410的地址线ADDR2连接dm9000的cmd,cmd为低电平时传输地址,cmd为高电平时传输数据;
我不明白的是书上P444页:“dm9000的基地址的ADDR2为0,用来传输地址;dm9000基地址+4的ADDR2为1,用来传输数据”这句话是什么意思?什么叫一个地址的ADDR2?
寻求过很多帮助,无果,希望在这有人能帮到我,谢谢!
[ 此帖被wuweidong在2011-11-11 16:03重新编辑 ]