华为HG255D路由器JTAG救砖的进一步研究

网上关于华为HG255D路由器的JTAG定义只有GND,TDO,TDI,TMS,TCLK,VREF,NTRST共7根线的连接方式,由于缺少NSRST的连线定义,使得对于HG255D路由器进行救砖时有时会失败。经过对RT3052 CPU的引脚定义发现PORST_N引脚为CPU的复位引脚,在JTAG接口里面对应于NSRST。将该引脚连接到JTAG,可以使CPU上电后暂停于0xbfc00000地址处。使用的JTAG调试软件为OPENOCD,JTAG硬件可以是Jlink或者BusBlaster V3C。

在OpenOCD配置文件中需要定义关于复位的引脚。如下:

adapter_nsrst_delay 100
jtag_ntrst_delay 100
reset_config trst_and_srst 

在OPENOCD的Telnet连接中输入reset halt,就可以使CPU复位并暂停于第一条指令地址处,此时再执行ralink_init,load_image uboot-ram.bin 0x200000,resume 0x200000等命令就可以将RAM版boot程序导入到内存执行了。有了复位功能就算原来FLASH中的代码完全被破坏也可以进行修复了。

猜你喜欢

转载自blog.csdn.net/zouyulong2010/article/details/82193862