64位win10刷jlink固件

前言

升级到keil5之后,提示jlink可以升级,无奈手贱点了升级,结果我的山寨jlink就成了砖头了,从网上得知重刷jlink固件可以使我的jlink与keil5一起工作,摸索了一段时间之后确实成功了,在这个过程中发现网上的教程参差不齐,让我踩了不少坑,为了让各位少踩坑,我分享一下刷jlink的过程以及需要注意的几个问题。

刷jlink基本过程

  1. 短接ERASE和TST,具体方法百度即可,不过一定要可靠短接,原因后面会说。
  2. 到ATMEL官网下载最新的sam-ba软件,里面包含了刷jlink所需的驱动。
  3. 到了这一步如果jlink被电脑成功识别说明你人品很好,我这篇博文对你没有任何作用,你可以关了这个页面了。但是对于其他像我这样RP不好的同学来说,博文现在才刚刚开始。

遇到的问题

在按照上文的步骤1和2做完之后,发现连接电脑时并不能够识别我的jlink,提示未知usb设备,手动安装sam-ba提供的驱动也提示安装不上,这里只提供一种可能的原因,那就是在步骤1中短接TST时没有可靠的短接,几乎网上所有的教程都强调短接TST时需要可靠的短接,那是为什么呢?我们先来了解一下为什么需要短接ERASE和TST:

  1. 短接ERASE是为了擦除原来的固件,这个时候绿灯会灭掉,所以短接ERAE是否是可靠的还是比较容易观察的。
  2. 短接TST是为了将jlink自带的固件复制到flash上,这样在下次上电的时候就会启动这个固件,你的电脑就可以识别jlink了,因为这个过程需要时间复制固件并且没有明显的标志用于观察是否成功(不像ERASE还有绿灯可以观察),所以需要非常可靠的短接,如果你的电脑没有成功识别jlink很大原因是这一步没有可靠的短接。

我遇到的问题就是短接之后64位win10电脑识别不了jlink,刚开始还以为是驱动不兼容,专门找了32位的xp测试也是识别不了,注意这里的识别不了的意思是就算你手动指定sam-ba提供驱动也不行。就在快要放弃的时候,找了一根铜线来短接TST,结果竟然成功了,刷入网上的修复版jlink-v8固件后也能够正常与keil5一起工作,不会有闪退的问题了。

总结

网上很多教程都说要使用32位xp才能成功刷固件,但是通过这次摸索也证明了64位的win10也是可以的。我想要告诉各位同学的是:如果你的电脑在短接了ERASE和TST之后识别不了你的jlink,一个可能的原因是TST没有可靠的短接,而不是驱动的问题。由于本人才浅学疏,博文中错漏的地方还请各位同学斧正。如果这篇博文对你有帮助,那就是我莫大的荣幸。

你可能感兴趣的:(stm32)