dm9000AE调试记录

来源:互联网 发布:离婚率数据 编辑:程序博客网 时间:2024/06/11 02:59
**********************************************************************************************************************************
对比一下S3C2440的存储布局


地址总线引脚A0--A26,可寻址0--128MB
数据总线引脚D0--D31
片选引脚nGCS0--nGCS7,即可以片选8个bank,而每bank可寻址128MB,所以共计可寻址1GB。
相当于地址线共计A0--A29,而A27,A28和A29并没有真正的管脚引出,这三个信号在2440内部已经做了译码,对应nGCS0到nGCS7  8个片选信号,这8个信号是有管脚引出的。在cpu发出地址命令后,根据A0--A29中A27,A28,A29的数据自动使能nGCS0--nGCS7的某一位,以选中某个芯片。


特殊寄存器地址分布:0X4800 0000--0X5B00 001C
micro2440的一些设备的地址空间映射

[root@FriendlyARM /]# cat /proc/iomem 20000300-20000303 : dm9000     //dm9000  20000300-20000303 : dm900020000304-20000307 : dm9000  20000304-20000307 : dm900030000000-33ffffff : System RAM  //sdram  3002f000-30442fff : Kernel text  30444000-304b4d6f : Kernel data49000000-490000ff : s3c2410-ohci  49000000-490000ff : ohci_hcd4d000000-4d0fffff : s3c2410-lcd  4d000000-4d0fffff : s3c2410-lcd4e000000-4e100000 : s3c2440-nand  4e000000-4e100000 : s3c2440-nand4f000000-4f0fffff : camera50000000-50003fff : s3c2440-uart.0  50000000-500000ff : s3c2440-uart50004000-50007fff : s3c2440-uart.1  50004000-500040ff : s3c2440-uart50008000-5000bfff : s3c2440-uart.2  50008000-500080ff : s3c2440-uart52000000-520fffff : s3c2440-usbgadget53000000-530fffff : s3c2410-wdt  53000000-530fffff : s3c2410-wdt54000000-54000fff : s3c2440-i2c  54000000-54000fff : s3c2440-i2c55000000-550fffff : s3c2410-iis57000000-570000ff : s3c2410-rtc  57000000-570000ff : s3c2410-rtc5a000000-5a0fffff : s3c2440-sdi  5a000000-5a0fffff : s3c2440-sdi


**********************************************************************************************************************************
6410的储存器系统比2440变化很大,地址映射如下



特殊寄存器地址分布:7千万--8千万
**********************************************************************************************************************************

ok6410的一些设备的地址空间映射
[root@FORLINX6410]# cat /proc/iomem 18000000-18000003 : dm9000.0 //dm9000命令  18000000-18000003 : dm900018000004-180fffff : dm9000.0 //dm9000地址  18000004-180fffff : dm900050000000-5fffffff : System RAM  //ddr ram  50031000-5064bfff : Kernel text  506a6000-50773a67 : Kernel data70200000-70300000 : s3c6400-nand //nand  70200000-70300000 : s3c6400-nand72000000-72ffffff : s3c-g3d  74300000-743000ff : s3c2410-ohci  74300000-743000ff : ohci_hcd76100000-761fffff : s3c-g2d76200000-762fffff : s3c-tvenc76300000-763fffff : s3c-tvscaler77000000-770fffff : s3c-vpp77100000-77103fff : s3c-fb  77100000-77103fff : s3c-fb77200000-772fffff : s3c-rotator78000000-780fffff : s3c-fimc.1  78000000-780fffff : s3c-fimc.0    78000000-780fffff : s3c-fimc78800000-78bfffff : s3c-jpeg7c000000-7c00ffff : s3c-hsotg7c200000-7c200fff : s3c-sdhci.0  7c200000-7c200fff : mmc07c300000-7c300fff : s3c-sdhci.1  7c300000-7c300fff : mmc17e002000-7e002fff : s3c-mfc7e005000-7e0050ff : s3c64xx-rtc  7e005000-7e0050ff : s3c64xx-rtc7e00b000-7e00b0ff : s3c64xx-adc7f001000-7f0010ff : s3c-ac977f004000-7f004fff : s3c2440-i2c.0  7f004000-7f004fff : s3c2440-i2c7f005000-7f005100 : s3c6400-uart.0  7f005000-7f0050ff : s3c6400-uart7f005400-7f005500 : s3c6400-uart.1  7f005400-7f0054ff : s3c6400-uart7f005800-7f005900 : s3c6400-uart.2  7f005800-7f0058ff : s3c6400-uart7f005c00-7f005d00 : s3c6400-uart.3  7f005c00-7f005cff : s3c6400-uart7f00b000-7f00b0ff : s3c64xx-spi.0  7f00b000-7f00b0ff : s3c64xx-spi7f00c000-7f00c0ff : s3c64xx-spi.1  7f00c000-7f00c0ff : s3c64xx-spi
**********************************************************************************************************************************
dm9000
硬件连线
http://blog.csdn.net/songqqnew/article/details/7080103
驱动结构
http://blog.csdn.net/songqqnew/article/details/7555116

**********************************************************************************************************************************
自制底板+te6410核心板,启动中不能识别dm9000a
//uboot中未检测到dm9000adm9000 not found at 0x18000300 id: 0x80000a46MAC: 00:40:5c:26:0a:5bNet:     dm9000
//kernel中未检测到dm9000a...NET: Registered protocol family 24dm9000 Ethernet Driver, V1.31dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: read wrong id 0x2b2a2928dm9000 dm9000.0: wrong id: 0x2b2a2928dm9000 dm9000.0: not found (-19)
示波器夹子接地,钩子接底板的dm9000a的25MHz的晶振的两个脚的任一脚,发现震动正常。约25MHz
测量cs,int,oe,we,addr,发现与te6410板子的波形不一样,尤其是int,oe引脚几乎没有波形。底板是电子组按照te6410的原理图设计,并且dm9000和6410之间加了一个74fct16245 buffer,te6410原理图上有个SN74LVC1G111DBV开关芯片
,意图控制buffer的数据流动方向,但是te6410的pcb上却没有焊接,但是电子组却将此芯片焊接上了。。。拆掉,问题解决。但是



从arm到dm9000a通了,但是从dm9000a到rt45还没通,了解一下物理定义--refer to baidu baike
一般是使用---T568B 线序

如图2 所示,RJ45 型网线插头各脚与网线颜色标志的对应关系是:
插头脚号 网线颜色  
1 ———— 橙白  
2 ———— 橙  
3 ———— 绿白  
4 ———— 蓝  
5 ———— 蓝白  
6 ———— 绿  
7 ———— 棕白  
8 ———— 棕

1-2 差分接收
3-6 差分发送

网线仅连这4脚即可。

**********************************************************************************************************************************
    核心板的晶振的两个脚的波形应该都一样是正弦波,12Mhz,但是如果使用x1挡去测,会测得一端是正弦波,一端是直流。如果使用x10挡去测,会测得都是一样的正弦波。这是因为示波器探头X1挡相当于一个100pF左右的电容,所以接上去负载太重,接输入端的话,它就振不起来了
还有,表笔的夹子一定要接在一个稳定的地,否则测的波形不准,乱乱的。
并且,使用x1档去测dm9000的晶振,根本侧不准。
**********************************************************************************************************************************
http://bbs.21ic.com/icview-44998-1-1.html
原创粉丝点击