小弟这个学期的专业实习任务是s3c2440a 的dm9000e 网卡驱动设计:
在看初始化代码的时候碰上问题了,
大家先看这图:
[[img=http://img.my.csdn.net/uploads/201210/29/1351525016_4515.jpg]url=http://blog.csdn.net/lanhxg/article/details/8126460][/url][/img]
疑问:
1)我怎么知道 开发板使用16位连接方式
2)92脚,连接2440的ADDR2 这里的addr2是芯片的寄存器么?
3)AEN由2440的片选nLAN_CS2来控制 这个控制是指2440的SRAM 还是nanflash 还是 nonflash?
nLanCS2不是一位的引脚么?怎么可以片选。
4) 开启DM9000芯片, DM9000芯片上电默认的状态是GEPIO0 = 1的power down 状态,所以要将 GEPIO0 bit[0]设置为 0,来打开 DM9000 芯片。上电之后将 GPCR(REG_1E)GEP_CNTL0 bit[0]设置为 1;同时将GPR(REG_1F) GEPIO0 bit[0] 设置为 0 来打开芯片;
这里我不明白为什么一开始GEPIO0 bit[0]设置为 0 后面又要把 GEPIO0 bit[0] 设置为 0 不是已经是0 了么?
希望有人可以帮我
------解决思路----------------------
1 2440支持16/32位访问,看你的芯片接在哪个bank上,bank是可以配置的多少位访问。
2。应该是2440地址管脚,不是寄存器。cmd的高低来控制对网卡芯片的访问,区分数据和命令,具体看手册就明白了,这样就确定了访问的地址。
3 看你的cs管脚管的是哪段地址,就是个片选而已,不同的cs访问的起始地址不同。。。
4看一下手册吧,让这样操作就是这样操作,跟初始化有关,包括读写方向,可能会影响结果。
------解决思路----------------------
1. 开发板使用16位连接方式
地址线的宽度 LDATA15