H-Jtag接口板调试总结
2012-12-18 17:04
246 查看
首先必须保证的三点:
1、 必须确保nRESET复位信号的电压为高电平,如果为低电平,则整个板子不工作
2、 确保arm周边的晶体或晶振是否能够有正确的时钟输出,如果不能,则整个板子不工作
3、 确保所有的电源有没有正常工作(1.8V、3.3V、5V等)
如果这三点保证不了会出现各种各样的错误
1
现象:
h-flasher提示“Can't download driver to specified address”错误
分析:
这个错误提示的是不能将驱动下载到正确的地址,这里的合适的地址只得就是sdram,因为我们如果通过jtag端口控制flash芯片时,我们依然需要将flash的驱动通过jtag口将其下载到sdram中,这样flash才能运行。出现这个错误我目前我接触到的就两个原因:一个是sdram虚焊或者坏掉了,或者周围的电容电阻有问题,另外一个就是有其他芯片处于输入输出状态影响了总线,所以jtag的数据不能传到sdram中。
解决办法:
1、 补焊sdram以及相关电阻电容
2、 查看有没有占用总线的元件,如fpga,可以重新刷一下 fpga的程序。
2、
现象:
h-flasher提示“Flash id does not match”错误
分析:
jtag需要读取flash的相关单元读取flash id,如果flash id可以读取出来,说明片子并没有完全不工作,但是flash id 缺不匹配,说明flash有虚焊。或者就是这个片子是新出厂的,新出厂的id与原来出场的id不同。
解决办法:
1、 补焊flash
2、 打开prgram file\H-JTAG下的FDevice文件夹,修改相应FLASH_ID为H-Flasher在programming后出错显示的那个id(reset按钮左边),就可以了
3、
现象:
H-flahser提示:“Error,can’t halt target and make it enter DEBUG state,please try again with lower tck speed”
分析:
这个错误说的还是听笼统的,就是不能进入调试状态,造成这个提示的原因有很多,如flash虚焊,晶振未起振,以及复位芯片有问题,包括即使复位信号为高电平,也可以造成这个现象,如复位信号不稳定。如果不焊接flash也会提示这个问题
解决办法:
1、 补焊flash(换flash)
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 halt target and make it enter DEBUG state,please try again with lower tck speed”错误
5、发现有个复位芯片焊接错误,复位信号不稳定,推断这是不能对flash进行擦除或写操作的原因
6、将错的复位芯片焊掉,之后工作正常。
解决办法:
更换复位芯片
7、
现象:
未焊接复位芯片的S接口板重新上电后无法正常启动,如果连接jtag并且复位一下则可以启动
原因:
虽然默认的即使不焊接复位芯片时,复位信号连接着3.3V电源,则也可以提供复位信号,然而必须考虑刚上电的瞬间,在这一瞬间如果没有经过复位而cpu与其他元件直接运行,则由于不同步则可能cpu发出错误的指令得不到执行。如果有复位芯片会等到3.3V稳定之后复位一到两个周期,然后使cpu运行,则可以正常工作。这就是为什么jtag复位后,arm可以启动
解决办法:
焊上复位芯片
1、 必须确保nRESET复位信号的电压为高电平,如果为低电平,则整个板子不工作
2、 确保arm周边的晶体或晶振是否能够有正确的时钟输出,如果不能,则整个板子不工作
3、 确保所有的电源有没有正常工作(1.8V、3.3V、5V等)
如果这三点保证不了会出现各种各样的错误
1
现象:
h-flasher提示“Can't download driver to specified address”错误
分析:
这个错误提示的是不能将驱动下载到正确的地址,这里的合适的地址只得就是sdram,因为我们如果通过jtag端口控制flash芯片时,我们依然需要将flash的驱动通过jtag口将其下载到sdram中,这样flash才能运行。出现这个错误我目前我接触到的就两个原因:一个是sdram虚焊或者坏掉了,或者周围的电容电阻有问题,另外一个就是有其他芯片处于输入输出状态影响了总线,所以jtag的数据不能传到sdram中。
解决办法:
1、 补焊sdram以及相关电阻电容
2、 查看有没有占用总线的元件,如fpga,可以重新刷一下 fpga的程序。
2、
现象:
h-flasher提示“Flash id does not match”错误
分析:
jtag需要读取flash的相关单元读取flash id,如果flash id可以读取出来,说明片子并没有完全不工作,但是flash id 缺不匹配,说明flash有虚焊。或者就是这个片子是新出厂的,新出厂的id与原来出场的id不同。
解决办法:
1、 补焊flash
2、 打开prgram file\H-JTAG下的FDevice文件夹,修改相应FLASH_ID为H-Flasher在programming后出错显示的那个id(reset按钮左边),就可以了
3、
现象:
H-flahser提示:“Error,can’t halt target and make it enter DEBUG state,please try again with lower tck speed”
分析:
这个错误说的还是听笼统的,就是不能进入调试状态,造成这个提示的原因有很多,如flash虚焊,晶振未起振,以及复位芯片有问题,包括即使复位信号为高电平,也可以造成这个现象,如复位信号不稳定。如果不焊接flash也会提示这个问题
解决办法:
1、 补焊flash(换flash)
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 halt target and make it enter DEBUG state,please try again with lower tck speed”错误
5、发现有个复位芯片焊接错误,复位信号不稳定,推断这是不能对flash进行擦除或写操作的原因
6、将错的复位芯片焊掉,之后工作正常。
解决办法:
更换复位芯片
7、
现象:
未焊接复位芯片的S接口板重新上电后无法正常启动,如果连接jtag并且复位一下则可以启动
原因:
虽然默认的即使不焊接复位芯片时,复位信号连接着3.3V电源,则也可以提供复位信号,然而必须考虑刚上电的瞬间,在这一瞬间如果没有经过复位而cpu与其他元件直接运行,则由于不同步则可能cpu发出错误的指令得不到执行。如果有复位芯片会等到3.3V稳定之后复位一到两个周期,然后使cpu运行,则可以正常工作。这就是为什么jtag复位后,arm可以启动
解决办法:
焊上复位芯片
相关文章推荐
- 高通lcd调试总结
- camera 驱动调试常见问题总结
- MFC串行化操作错误类型及调试方法总结
- 【原创】反调试技巧总结-原理和实现(1)(2)(3)(4)(5)(6)......
- DDR3调试总结
- linux -- 串口调试总结
- python调试总结
- DRV8301芯片调试总结
- JS 代码调试经验总结(菜鸟必读)
- Eclipse 调试总结
- Android Studio调试功能使用总结
- eclipse调试总结
- 调试路由器认证平台小总结
- linux之gdb基本调试命令和使用总结
- 反调试技术总结
- visual studio调试技巧及总结
- [置顶]Shell调试技术总结(二)
- Intellij Idea调试功能总结
- Siverlight以及WPF开发技术容易发生的调试发生的错误-自己总结。
- tensorflow安装调试总结(持续更新)