CONFIG_DM9000_BASE|CONFIG_DM9000_BASE 0x20000000

1. #define CONFIG_DM9000_BASE0x20000000
这个地址到底是怎么定义,按我的理解因为是nGCS4控制,因该是0x20000000,但网上很多人说是0x20000300,这个0x300是如何来的,至今没一个人能够清楚的说明

如果你看过DM9000的datasheet( http://pdfdata.datasheetsite.com/web/29472/DM9000.pdf)就会知道,是0x20000000还是0x20000300或者别的什么, 取决于DM9000的PIN#92 CMD的连接。
92 CMD I Command Type
When high, the access of this command cycle is DATA port
When low, the access of this command cycle is ADDRESS port

也就是说,可以认为DM9000只有两个地址,一个用来写address,一个用来写data, 两个地址的区别只有一个bit(CMD PIN连接的那个地址PIN)。
在Mini2440上,DM9000的片选接的是CS4,CMDpin接的是ADDR2,所以address地址是0x20000000 (ADDR2 = 0), data地址是0x20000004 (ADDR2 = 1)。
至于网络上流传的0x20000300, 应该是某块开发板上,DM9000的CMD PIN接到了ADDR9或者ADDR8上。
很有趣的一点是,DM9000只受这一根地址PIN的影响,因此0x20000304和0x20000004对它来说是没有区别的。






从上面的图看出,上面转的内容说的是错误的

    推荐阅读