jicheng0622

【经验笔记】简单修复J-Link v7、v8固件损坏

0
阅读(31478) 评论(36)

 

    J-Link作为当今灰常流行的ARM核的JTAG(现在又支持SWD)调试器,以其价格便宜(市场上七八十块钱一个,最新版为V8版)、调试方便、下载速度快等优点,得到很多嵌入式开发者的青睐(咳咳,我不是做广告的,哈哈)。不过可能好多人都遇到由于某些误操作造成J-Link无法识别和调试灯不亮等问题,然后在多次试用仍旧无果的情况下就判定了它死刑,放在桌子的角落里等着落灰,呵呵。
    本篇博客的目的就是介绍让J-Link起死回生之术,传授大家妙手回春之能,嘿嘿。我想说的是其实出现上面那种情况,绝大数情况不是J-Link硬件上的问题(可能第一次遇到这种情况的人第一反应估计都是硬件上出了什么问题,然后拿着万用表就到处乱杵一番,然后本来没坏的也被杵坏了,哈哈),而是由于我们的某些操作破坏了J-Link内部芯片(AT91SAM7S64)的固件导致其无法识别。其实之所以发现这个问题也是得感谢我同学校的一位好友(他用J-Link调STM32,我用J-Link调Kinetis,我俩都用的v7版),最开始是他的J-Link出现了该问题,然后他找到了解决办法之后在得知我也遇到了该问题后及时跟我分享了经验,在经过修复之后插上USB线,当电脑音响里再次听到那经典的熟悉悦耳的USB识别声音和小灯重新点亮的时候,我俩都是一个感觉,爽,哈哈。其实解决方法早已有高手给出了,我俩就是整理了网上的一些资料和高手的经验,然后完美的解决了该问题,哈哈,所以值此篇博客发表之际,感谢我的好友和最开始给出解决方案的高手,也因为这个原因我没敢用【原创】作为标题的开头,而是作为【经验笔记】分享给大家,虽然我也做了些总结和修改,嘿嘿。那下面进入正题,enjoy it:
    首先需要提的是,J-Link内部采用的主控芯片为Atmel的ARM7处理器AT91SAM7S64,打开盖子清晰可见,虽然目前国内市场上关于J-Link的PCB都做滥了,不过毕竟都是根据其官方给出的解决方案(即原理图,不过不同的J-Link版本,其原理图是不一样的),所以芯片还是一样的,下图为我拍下的一款J-Link v8和v7内部PCB(前v8后v7,手机像素有限,嘿嘿):
    注意可能有网友会发现手里J-Link的PCB版会跟我的不一样,不过不用担心,本篇解决方法我做了些改进,按照我的方法可以实现不同版本的J-Link修复。呵呵,说了这么多,做了这么充足的准备,那下面就给出修复的流程了:
1.既然了然了主芯片是Atmel家的ARM7,那就好办了,需要一款Atmel的Flash ISP下载软件,为了方便大家,我传到附件里了,可以解压后直接安装Install AT91-ISP v1.13.exe文件即可,当然也可以直接到官网直接去下载,网址为http://www.atmel.com/tools/ATMELSAM-BAIN-SYSTEMPROGRAMMER.aspx
2.安装之后,可以看到桌面上有两个执行程序的快捷方式如下图,我们需要用到的是SAM-PROG这个Flash编程软件。
3.在所需软件准备就绪之后,下面需要做就是本篇的重点了——擦除AT91SAM7S64 Flash(因为内部固件已经损坏,所以这步是必须的)然后进入编程模式,具体操作流程如下:
(1)首先找到PCB板子的Erase脚和TST脚,一般J-Link都预留出这两个重要管脚,如下图,分别给出了v8版的这两个管脚的预留位置:
当然如果你的PCB版跟我的不一样,我也给出了解决方案,即根据芯片AT91SAM7S64的引脚排列找到其Erase脚和TST脚,AT91SAM7S64管脚排列如下图所示:
(2)这两个重要的管脚找到之后,然后通过USB数据线连接J-Link和电脑,给J-Link供电(注意这一步小灯可能不亮,但电源已经加到J-Link板子上了); 
(3)短接Erase区的两个过孔(即Erase与VDD3.3v)约5s以后,断开该连接,这时擦除完毕,最后断开USB电源,停止给J-Link供电。(注意先后顺序)
(4)短接TST区的两个过孔(即TST与VDD3.3v),然后再连接USB数据线给J-Link供电(注意顺序),约10s以后,拔掉USB电源,再断开TST区的连接,这时进入编程模式;
(5)上面成功完成之后,打开上面提到的SAM-PROG软件,运行后设置如下图,固件在我上传的附件里:
(6)J-Link通过USB线与电脑连接。此时,SAM-PROG v2.4软件中的Write Flash按钮将变为有效。(注意,先打开SAM-PROG v2.4再连接J-Link)。
(7)点击Write Flash 按钮,烧录固件,待烧录完成后,Active Connection:将变为1,然后拔掉USB数据线即可。
    下面就是见证奇迹的时刻(嘿嘿,套用下时下时髦的话),当我们再次把USB数据线与J-Link连接之后,动听的USB设备识别声音出现了,并且弹出驱动安装,我们点击自动安装即可,这样我们损坏的J-Link就起死回生了,很神奇,有木有,哈哈~
    如上所述,我以修复v8为例介绍了整个流程,其实经过我的验证v7也可以,而且在附件里我也上传了v7和v8两版固件程序,很周到吧,有木有,哈哈。希望大家能有所收获,未完待续~
    附件为AT91-ISP安装文件和v7、v8两版的固件程序。
  1. 为什么我的write flash 一直都是灰色的??搞了一天来都没得

    用sam-ba v2.9打开又检测不出串口,明明我驱动也安装成功了,心累呀!跪求解答。(我电脑是win7  64位的)

  2. 附件在哪??

  3. 附件在哪呀?

  4. ***此内容已被管理员屏蔽***

  5. 匿名用户匿名用户
    補充一下 SAM-PROG 的 "Write Flash" Button 無效的問題
    驅動問題好解決, 只需要用 Win32 的 OS 就可以了

    因為看 AT91 ISP/SAM-BA User Guide 的 AT91 ISP Framework Architecture 說到 USB 驅動為 ATMEL Corporation 安裝目錄\AT91-ISP v1.13\sam-ba 2.9\drv 底下的驅動程式 atm6124.inf, atm6124.sys 

    此為 Win32 版本的驅動程式, 並無法兼容 64 bit OS, 所以在 64 bit OS 下, SAM-PROG "Write Flash" Button 是不會有效的.

    因為自己也是遇到同樣問題, 發現解答後就順手補上

    但是新的 J-Flash 會擋掉 Clone 的 J-Link 了
    這就是另外一個問題了, 期待新的 J-Link FW 囉~~


    Prince

     
  6. @匿名用户(58.60.39.191 )
    不会。
  7. 匿名用户匿名用户
    earse之后步骤乱了会不会影响?
  8. 匿名用户匿名用户
    我的问题是现在Writeflash 已经变为有效,但是点击后没有反应,等了很久也没有完成烧写,,Active Connection也一直是0
  9. 匿名用户匿名用户
    引用:匿名用户(61.150.43.98 )

    赞一个,用你这种方法我把我的jlink修好了,方便又省事,还有一点提醒大家注意的事,如果绿灯老在闪,肯定是驱动有问题,进设备管理器看,果真jlink驱动没安好,但自动安装也不行,卖家提供的驱动是exe格式的,你安装后再program files里面找到segger 然再选在里面的-》usb driver-》x86继续安装就可以,安装完灯就绿了,分享以上经验希望对大家有用,谢谢楼主啊!

    第一次在笔记本上可以正常下载,但换个电脑就不行了,提示没有jlink.sys,通过上述方法完全解决了,好。
  10. 匿名用户匿名用户
    非常有效果,按照上面的步骤非常容易的把问题解决了,好东西,谢谢分享。
  11. @匿名用户(116.25.209.67 )
    That's ok. Good news.
  12. 匿名用户匿名用户

    感谢楼主的方法,以及热心细致,给我们提供了工具包,让我的jlink修好了。

  13. 匿名用户匿名用户
  14. 哥  你是神一样的存在  !!
  15. 楼主的钻研精神太让人佩服了。