首先必须保证的三点:
1、
2、
3、
如果这三点保证不了会出现各种各样的错误
1
现象:
h-flasher提示“Can't
分析:
这个错误提示的是不能将驱动下载到正确的地址,这里的合适的地址只得就是sdram,因为我们如果通过jtag端口控制flash芯片时,我们依然需要将flash的驱动通过jtag口将其下载到sdram中,这样flash才能运行。出现这个错误我目前我接触到的就两个原因:一个是sdram虚焊或者坏掉了,或者周围的电容电阻有问题,另外一个就是有其他芯片处于输入输出状态影响了总线,所以jtag的数据不能传到sdram中。
解决办法:
1、
2、
2、
现象:
h-flasher提示“Flash
分析:
jtag需要读取flash的相关单元读取flash id,如果flash id可以读取出来,说明片子并没有完全不工作,但是flash id 缺不匹配,说明flash有虚焊。或者就是这个片子是新出厂的,新出厂的id与原来出场的id不同。
解决办法:
1、
2、
3、
现象:
H-flahser提示:“Error,can’t halt target and make it enter DEBUG state,please try again with lower tck speed”
分析:
这个错误说的还是听笼统的,就是不能进入调试状态,造成这个提示的原因有很多,如flash虚焊,晶振未起振,以及复位芯片有问题,包括即使复位信号为高电平,也可以造成这个现象,如复位信号不稳定。如果不焊接flash也会提示这个问题
解决办法:
1、
2、
3、
4、
现象:
Uboot启动后显示nandflash存储量为0,然而我们却可以通过h-flasher往flash中写入uboot
分析:
如果能往其中写程序,说明flash是好的,可能由于复位信号不稳定造成这个原因
解决办法:
更换复位芯片
5、
现象:
Uboot不断地重启
分析:
原因有很多,有可能是由复位信号不稳定造成的
解决办法:
6、
现象:
写入uboot后,串口无输出
过程:
1、首先测试了一下arm有没有给调试串口芯片发送数据,发现没有数据。
2、用主机(串口助手)给调试串口发送数据,发现有数据。(推断串口芯片应该是好的,是因为arm没有从nandflash中读出uboot,所以uboot没有启动,以至于串口没有输出)
3、用h-flasher读出flash中的数据,与写入的uboot文件进行对比,发现读出的数据与uboot.bin的数据是不一样的,然后无论擦出还是重新写flash,其读出的值都没有任何改变。(推断flash坏了,换了一片flash)
4、换好的flash使用h-flasher擦除时不能成功,之后没有多久提示“can't
5、发现有个复位芯片焊接错误,复位信号不稳定,推断这是不能对flash进行擦除或写操作的原因
解决办法:
7、
现象:
原因:
解决办法: