[症状] 1.焊接了两块板子,刚开始是可以通过H-Flasher把u-boot烧写进去,也可以正常启动的,然后什么也不动,过了几分钟后,板子就 无法启动的,也无法通过H-Flasher来检测到flash的型号,此时再补焊一下cpu和flash,这时候又可以了检测到,并且可以启动 u-boot了,但是又过了一段时间,又无法启动,如此反复。 2.另一块板子有同样的情况,不过现在它还是正常的,不过u-boot在检测flash的型号的时候总是出错,同时通过H-Flasher检测到的 型号也是不对的,读出来的值是flash第一个单元的值,比如flash的起始是0x2000000,第一个单元的值是0xEA000012(之前已经烧写过u-boot了,如果没有烧写,这个单元就是0xFFFFFFFF), 照理说,读出来的flash型号的值应该是0x236D00BF,但是现在读取出来的值却是0xEA000012。
[环境] 1.硬件:KS8695X(CPU)+HY57V641620FTP(SDRAM)+SST39VF6401B(FLASH) 2.软件:H-JTAG+H-Flasher,AXD
[已做的工作] 1.对于板子上的数据线,我已经通过AXD验证过了:对于sdram的某个单元,比如0x0,分别写入0x00000001,0x00000002,0x00000004,0x00000008,0x00000010,0x00000020, 数据线往左滑动,然后读取出来的值都是正确的,这就说明了,数据线是正确的。 2.地址线之前也通过示波器验证过一次,发现有些地址线电平过低,或者有些地址线上好像有两个信号重叠着,后来把这几根线补焊了一下,就没有问题了。 3.对于读取flash的id,flash上的命令是这样的 1st Bus 2nd Bus 3rd Bus Write Cycle Write Cycle Write Cycle Addr Data Addr Data Addr Data Software ID Entry: 555H AAH 2AAH 55H 555H 90H 按照现在的情况是发送这些命令的时候,并没有起作用,所以最后从flash的起始地址读取的值是flash单元里的值,而不是flash的id
|