小弟做2440的板子用的是winbond的W9825G6EH-75t作为sdram,但是有些板子上电后dnw没有收到任何串口数据,用示波器打ttl的tx信号也没有任何波形.有时,换两片W9825G6EH后就能正常启动了.因此,开始怀疑是W9825G6EH芯片的问题.后来把刚刚换下来的W9825G6EH(我的板子上无法启动的)焊接在开发板上,却发现开发板工作的很好啊!
有时,我的板子能正常启动,但是进入wince后dnw上会不时的出现"filesys.exe error"的提示,然后系统就崩溃了.换过W9825G6EH后,系统又正常了.可是,仍然把取下的这2片W9825G6EH换到幼龙的开发板上,人家仍然工作的好好的!
不知道有没有高手遇到类似的情况?难道是pcb布板的问题啊!!!
既然同样的程序和同样的芯片仅仅是换个环境就不同,最大的可能性是布线的问题,也可以查查FLASH部分。
flash换过,效果一样!
如果是布线的问题,可是20块板子有15块都是正常的,余下的5块有3块换过W9825G6EH也正常了,只有2块是调试不了的.况且,布线时做了线长匹配的啊!
会不会是cpu的问题呢?
1. 降頻
2. 調慢 SDRAM access timing.
3. Add capacitor on SDRAM power.
Paul, Chao @ Techware
引用: 引用 3 楼 paul_chao 的回复:
1. 降頻
2. 調慢 SDRAM access timing.
3. Add capacitor on SDRAM power.
Paul, Chao @ Techware
电容的问题倒是有可能,我用的是钽电容,貌似质量不很好
先把SDRAM的频率降下来点,估计你供电可能不太充足,导致有的板子不能工作在比较高的频率。还有把那几个内存访问的演示参数加大一点看看。
正常启动时dnw最后出现的应该是:
OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49
OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49
INFO: CReg2440Uart::CReg2440Uart using processor frequency reported by the OAL (50000000).
OEMIoControl: Unsupported Code 0x10100fc - device 0x0101 func 63
现在,在上面的信息出现后,dnw还出现了以下信息;
Prefetch Abort: Thread=83af0400 Proc=82026450 'gwes.exe'
AKY=00000009 PC=0000a208(???+0x0000a208) RA=03f927c4(coredll.dll+0x000127c4) BVA=0000a208 FSR=00000005
Prefetch Abort: Thread=83a9a000 Proc=82026540 'explorer.exe'
AKY=00000011 PC=0000a208(???+0x0000a208) RA=03f927c4(coredll.dll+0x000127c4) BVA=0000a208 FSR=00000005
或者:
OEMIoControl: Unsupported Code 0x10100fc - device 0x0101 func 63
Prefetch Abort: Thread=83ae49e8 Proc=82026270 'filesys.exe'
AKY=ffffffff PC=00006080(???+0x00006080) RA=03f92368(???+0x03f92368) BVA=00006080 FSR=00000005
Prefetch Abort: Thread=83bc8b9c Proc=82026450 'gwes.exe'
AKY=00000009 PC=00006080(???+0x00006080) RA=03f92368(coredll.dll+0x00012368) BVA=00006080 FSR=00000005
Prefetch Abort: Thread=83ae49e8 Proc=82026270 'filesys.exe'
AKY=ffffffff PC=00006080(???+0x00006080) RA=03f92368(???+0x03f92368) BVA=00006080 FSR=00000005
Prefetch Abort: Thread=83ae49e8 Proc=82026270 'filesys.exe'
AKY=ffffffff PC=00006080(???+0x00006080) RA=03f92368(???+0x03f92368) BVA=00006080 FSR=00000005
不知道这会是什么问题啊?
打问号的异常很难排,因为不知道问题在哪里,
咋整的,我换几个BSP从来没有出现过这种问题。
在微软webcast有讲到异常排除检测,你可以去看看。
启动后出现乱码死机的原因找到了,是sdram匹配电阻的问题,但是,dnw始终没有任何反应的扳子却依然没有反应啊!!急啊,有没有哪位大哥给支个着啊??