解决j-link无法使用以及keil识别出山寨j-link的解决方法

当我们拿着TB上卖的80块钱一个的J-link ARM山寨调试仿真器做学习或者开发时,突然,你的J-link指示灯停止闪烁了。这时候请不要着急,这很可能是J-link内部固件损坏的问题,只要我们重新给他刷上新的固件,一般来说就能使用了。
这里不再累述如何刷固件的具体操作,不知道的朋友可以去看我上传的资料里面的说明或者去网上百度就行了。我这里想说的是在刷固件的过程中通常会遇到的问题。

1) j-link按照刷固件教程中的操作,完成了将TST引脚短接后再与PC机相连时无法正常下载驱动或者SAM-PROG中的write flash键为灰色无法使用的问题。
2) j-link固件刷新完成后,连接到keil,keil提示firmware update,完成update后keil识别出j-link是克隆的 如下图:

解决j-link无法使用以及keil识别出山寨j-link的解决方法_第1张图片

首先解决第一个问题,我们需要换一个windows xp 或者windows 7 32位操作系统即可。这是由于我们刷固件其实就是给j-link里面的AT91SAM7S64烧写程序代码,如果使用windows7 64位操作系统没有开发出对应的上位机串口驱动程序,但xp和32位操作系统下有。

然后是第二个问题,我们把J-link固件刷新完成后,使用keil调试程序的时候,它会弹出提示我们更新固件的窗口,如果这个时候你选择了是,那好keil就会识别出你的山寨J-link出现图1-1所示的窗口,然后强制退出。当然,也有可能你选择了否仍然出现了识别出山寨版的窗口。那我们如何来解决这个问题呢?
我们可以利用keil的一个漏洞,由于keil无法检测出老版本的j-link,我们可以将j-link还原到过去的老版本,keil就无法检测出来了。

我们首先下载一个老版本的J-link驱动程序,并且安装。我所给的资源里面的为v4.40的版本。
然后打开j-link ARM这个程序。
图1-2

往里面输入 exec invalidatefw 命令,将里面的固件版本还原到以前的版本。
解决j-link无法使用以及keil识别出山寨j-link的解决方法_第2张图片
keil也得还原,我们将keil安装目录下ARM/Segger文件夹中的这两个文件替换成我所给的两个同名文件。
解决j-link无法使用以及keil识别出山寨j-link的解决方法_第3张图片
最后还有一个问题,如果你完成上面的步骤但是发现在keil的flashdownload 窗口里面没有自己所需要的芯片的flash类型。
解决j-link无法使用以及keil识别出山寨j-link的解决方法_第4张图片
这是由于你将j-link的版本还原到了这个芯片出厂以前,那当然不会支持你所需要的芯片的flash了啊,你要做的就是再找个比你要用的芯片晚出现但是要低于4.6版本的j-link驱动,重复上述的步骤。
j-link固件、j-link ARM v4.40驱动、Segger文件夹中所需要替换的文件的下载链接:
http://pan.baidu.com/s/1o8DHhMy
密码为:b3gh

你可能感兴趣的:(调试笔记)