J-link v8固件修复

jlink v8 重新烧录解决不识别usb,灯不亮的问题。参考了网上的饿jlink v8固件烧录指导。

打开JLINK后盖,主流的有以下两种结构:

J-link v8固件修复_第1张图片

J-link v8固件修复_第2张图片


擦除芯片并进入编程模式

1.使用USB线连接JLINK与PC机,以提供JLINK工作电源

2. 短接图中ERASE(A) 的两个过孔约5秒。断开ERASE(A)位置的两个过孔的短接。然后拔掉JLINKPC间的USB线(注意先后顺序)

3.短接图中,TST(B)处的两个过孔

4.使用USB线连接JLINKPC机,至少超过10秒后,拔掉USB线,停止给JLINK供电(说明:请确保此过程中,图中TST(B)处一直处于可靠的短接状态)

5.断开图中TST(B)处的短接 

更新固件

安装Install AT91-ISP v1.13.exe软件

双击Install AT91-ISP v1.13.exe运行,选择默认设置,安装好以后,桌面上生成如下两个图标。

双击Install AT91-ISP v1.13.exe运行,选择默认设置,安装好以后,桌面上生成如下两个图标。


双击桌面上的SAM-PROG v2.4图标 ,运行SAM-PROG v2.4烧录软件,按下图所示进行设置

J-link v8固件修复_第3张图片

1.JLINK V8通过USB线与PC机连接。此时,SAM-PROG v2.4软件中的Write Flash按钮将变为有效(注意,先打开SAM-PROG v2.4再连接JLINK PC机)

2.点击Write Flash按钮,烧录固件,待烧录完成后,Active Connection:将变为1

3.拔掉JLINKPC机之间的USB线


   至此,JLINK V8的固件已经更新完毕,正常情况下,连接电脑与JLINK V8时,JLINK V的指示灯将闪烁,然后常绿。请参照JLINK V8用户手册说明,使用JLINK V8进行调试仿真


2013/06/25更新:发现不更新固件后不能用的问题

       解决办法如下:

1、重新烧写固件到Jlink,将原来V8.bin固件用Winhex打开,并找到偏移地址为0xff00为首地址4bytes修改为其他值,只要不为原来的11111117 或 805306163即可,因为更新后的固件对这两个固件SN进行了强制校验,修改为其他值即可完美解决问题,同时将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C,目的是跳过GDBFull检查。

1.1 另外一种灵活的修改SN的方法:将0xff00为起始地址的4Bytes修改为0xffffffff,同时将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C,目的是跳过GDBFull检查,保存修改好的固件文件。更新固件后,打开Commander,不理会更新,在Jlink命令后面输入

      exec setsn = xxxxxxxx,所输入的sn为16进制,否则更新升级时会出现错误。 建议定义成你更新的时间,如20121121,这样就能追溯掉固件上次的时间。

2、此时安装了Segger4.65d的版本,打开JLink Commander,按要求提示更新,更新完之后即可正常使用最新的版本了。    

        PS:CM0加入读保护后,Segger的Unsecured Chip功能不能正常使用了,还未找到办法。跟ST的FAE联系后,建议使用ST Link的STVP来对Option Byte进行擦除,对RDP进行擦除。

更新固件之后,实测发现更容易掉固件了,之前的固件在同样的硬件平台使用半年都不掉一次,更新之后,平均估计半个月就会掉。还没找到问题所在,这样推理的话,只是跟固件相关。抑或是新的固件对硬件操作上有所更改所致?


     注意:同时修改GDBFull为GDBFULL或其他字符,根据目前实测,一个月不掉固件,所以修改的地方除了SN,同时应当修改GDBFull字符。解决之前只修改SN后,常掉固件的问题。




你可能感兴趣的:(STM32)