前言:本文记录下个人在升级jlink V8固件过程中的解决过程,前面两节都是失败过程,如果急于解决问题,直接看第三节即可,有问题可以留言交流。

 

一. 开端

     元旦在家里学STM32F429,由于开发板里面的demo程序没有源码,所以想把里面程序保存起来,之前在家里电脑只用了keil开发,对应的dll文件已经替换掉,这次需要使用Jflash工具。

     在使用JFLASH工具的时候遇到以下问题:

           1. 使用JFLASH 5.02和JFLASH4.86b,提示需要升级JLINK,然后提示JLINK是盗版的,将对应文件夹里面的JLINK的DLL文件替换掉(同事给的,应该是4.34左右的),提示:无法定位程序输入点……,应该是dll版本太低的缘故吧;

           2.使用JFLASH 4.34,换掉DLL文件,这次是能用了,但是JFLASH里面找不到F429芯片;

    所以呢,我想把JLINK的固件更新掉。

 

二. 失败过程 

    在我64bit的win7上使用以下教程(之前我一直用的sam-ba v2.4的软件升级,现在很多换成了V2.9,界面不一样,我还是习惯V2.4)

  https://wenku.baidu.com/view/87286e2f2e3f5727a5e96284.html

   按这个教程在我32位的电脑上是没问题的,换到64位的电脑,在设备管理器,一直是“未知设备”。我采用了以下办法:

        1. 使用系统的联网更新,提示设备驱动已经找到,但是由于错误无法安装;

        2. 使用sam-ba安装目录下V2.9的drv手动更新,也就是这个目录:C:\Program Files (x86)\ATMEL Corporation\AT91-ISP v1.13\sam-ba 2.9\drv,提示找不到驱动信息;

       3. 使用磁盘驱动安装V2.9下的驱动,提示设备驱动可能不适用64位;

       4. 使用sam-ba V2.9,找不到对应COM口; 

       5. 重启电脑执行以上操作,失败;

       6 .换个64位的系统(我有双64位win7)执行以上操作,失败; 

       7. 网上也找了64位的专用驱动,仍然是失败的;

因此我暂时总结,64位我是没办法试成功的,或者说很难成功;

 

三. 解决

  以上的过程对于想解决问题的人来说都是放屁, 以下是用虚拟机升级的方法,其中也会遇到一些问题(可能你未必碰到,或者更多):

  虚拟机的方法从下面连接得到的灵感,刚好我电脑有xp的虚拟机,虚拟机安装方法就不在此多说:

    https://www.cnblogs.com/hackshiner/p/5157065.html

      我的虚拟机xp:

     

 

  

  不过也还是碰到问题:未知设备有两个:

      

 

    后来尝试后发现,一个是我的外接键盘,一个是jlink,最后通过看系统的PID和VID号找到上面的0110是我的JLINK,尝试分配到虚拟机时又碰到问题:

      

   电脑反复重启还是不行,问度娘,才想起我电脑3个USB3.0,1个USB2.0,刚用了USB3.0,插到USB2.0,xp系统就识别了!

   接下来方法就按刚才教程就行了,最后一步可以调整下:先将JLINK插上电脑,打开虚拟机SAM-BA V2.4,配置好后,将原系统的“未知设备”分配给XP, 就可以识别了!

 

   然后就可以享受随便更换固件的乐趣咯!

 

后记: 作为电子开发工程师,准备好一些工具是好习惯,比如:备份的操作系统,虚拟机等,假如当前系统不兼容,马上就有另外一个系统可以切换,比如这次,如果没有虚拟机,就要找win64驱动,搞不好一天还没进入正题,都去准备工具了。

 

 

注:1. 这里仅提供一种对于设备升级的方法研究,并不是鼓励网友使用盗版JLINK。

       2. 版权所有,转载请注明!

 

 以下是这篇文章的思维导图:

                  

 

 

 

   

 

版权声明:本文为dlqx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dlqx/p/8149821.html