win7 J-Link固件烧录以及解决J-Link连接STM32 MDK5时强制更新驱动而致使J-Link挂掉的问题

用新版本的STM32集成开发环境MDK5.11a(之前用的4.13a)链接J-Link下载程序,如果J-Link固件版本过低则点击J-Link设置按钮时,会有提醒J-Link驱动有新版可安装(不可忽视,强制安装更新)。不过安装之后,会有弹窗提示连接器是山寨云云,接着MDK就挂掉了,也就是其固件程序已丢失。针对这个问题,

其一,重新刷J-Link V8固件程序(以下操作的先后顺序不要搞错了)

1.使用USB线连接J-Link与PC机,以提供J-Link工作电源;

2. 短接ERASE(A) 的两个过孔约5秒。断开ERASE(A)位置的两个过孔的短接。然后拔掉J-LinkPC间的USB线;

3.TST(B)的两个过孔;

4.使用USB线连接J-LinkPC机,至少超过10秒后,拔掉USB线,停止给J-Link供电(此过程中,TST(B)一直处于可靠的短接状态);

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

这个网上方法有很多,不清楚的可以参考这篇http://blog.csdn.net/yangluoning/article/details/8854886

重烧固件的关键是在完成上述5各步骤后,再次连接J-Link,要确保设备管理器中驱动的状态是“未识别的设备”云云,如果已经自动安装了一个似乎是“SAM...(名字记不全了)”之类的相关驱动,统统卸掉(卸载完毕最好重启一下)。凡是不能使用SAM-PROG这个软件自动烧录固件的电脑(比如笔者的win7 64位笔记本),推荐使用sam-ba_2.14(亲测多次可用)手动烧录。由于这款软件是Atmel公司的,正如前面所述,打开这款软件连接J-Link,应确保J-Link的驱动在设备管理器中显示的是“Atmel...”(名字记不太清了,这个驱动安装前提示J-Link驱动未识别->右键更新驱动->手动浏览电脑本地更新->C:\Program Files (x86)\Atmel\sam-ba_2.14\drv(sam-ba_2.14安装目录下)->更新)。

只有正确安装了Atmel公司的相关驱动方可与sam-ba_2.14连接(打开软件,选择正确的串口,目标板一般选at91sam7s64-ek,然后点击连接)。

进入软件,添加固件程序所在文件目录,点击发送即可完成固件的烧录(期间会有两次提示加密解锁之类的,总之,下载前解锁加密,下载后加密即可)。


其二,解决与STM32的MDK连接时的J-Link更新问题

方法一:简单粗暴,将J-Link驱动SEGGER安装目录中的JLinkARM.dll替换掉MDK安装目录ARM/Seggeer中的JLinkARM.dll即可;

2、J-Link重新烧录的固件需用WinHex这个软件做些修改(网上有很多介绍)。固件不修改的后果是,进入MDK设置J-Link是同样是要提醒更新J-Link驱动。


原创于 2015.05.08

修改更新于 2017.07.01

你可能感兴趣的:(开发工具,STM32相关)