本文主要是介绍J-LINK导致KEIL卡死后的一系列问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近用J-LINK调试一个极海MCU的项目,出现很多的问题,搞得很心烦,记录一下。
结果总是出现换一个板子烧录,就导致J-LINK找不到,或者经常出现要更新固件。
而且会导致KEIL卡死,再加上我是把KEIL装在虚拟机里面,虚拟机也经常死机,今天还出现蓝屏。(以往经常切换到虚拟机时出现电脑重启,没错,是主机重启。后来把英伟达的显卡卸载掉了,这种重启的故障减少了很多。)
后来听同事说他用VMWare不会出现这么多问题,所以就卸载了现在这个版本的(17.5.0 player),换上了他的那个版本
(但是我保留了原来的虚拟机文件,因为实在不想重装虚拟机系统,而且软件一堆都要重装,所以保留了。)
重装VMWare后,导入之前的虚拟机文件,然后启动系统,找到原来的KEIL,然后尝试烧录,还是一样卡死。所以立即卸载,重新装了一个当下的最新版本(Keil MDK 5.39)
但是装完后,编译出现问题,错误提示 #pragma import之类重定向的代码有问题 ,Arm compiler 6 不支持这部分代码,原因是这个用法是属于5系编译器的,但是这个版本的KEIL弃用了Arm compiler 5(在Target 👉Code Generation里面会提示Missing),用Arm compiler 6就会对代码报错。
虽然Arm compiler 6快,但是我不想改代码,所以网上下载了Arm compiler 5,安装到虚拟机
然后设置里把这个编译器的路径添加到Keil中, 因为我没来得及截图,所以具体操作请看下列文章
KEI5许可证没到期,编译却出现Error: C9555E: Failed to check out a license.问题解决-CSDN博客
博主的情况是添加后没有用,然后把Arm compiler 5 编译器复制到Keil的安装目录下,移除之前添加的,重新在Keil里设置新复制的路径,还是没用。
但是我比较幸运,安装后的Arm Compiler 5直接添加没有用,复制到Keil目录下,重新添加就可以了。
复制Arm Compiler 5 到Keil_v5\ARM文件夹下:
然后添加到Keil中:
这样,就可以编译了。
但是下载又出现问题了,问题主要有两个:
Q1.总是让我升级J-LINK固件,
Q2.仍然是卡死,然后转圈未响应,找不到目标设备。
搜了一圈文章
Q2请参考以下文章:
STM32(GD32)用J-Link下载Keil卡死问题解决_gd32f3 j-link-CSDN博客
(但我这里最后直接拔掉目标板,换另一块插上烧录,不把J-LINK拔下来似乎也行,这和博主的结论不一致,囧啊,不知道到底是什么原因,不过还是可以参考下这篇文章,或许会有启发)
Q1的话,我看了下面这篇文章:
我知道Jlink检测盗版的方法了,并有了应对方法 - STM32/STM8单片机论坛 - ST MCU意法半导体官方技术支持论坛 - 21ic电子技术开发论坛
但不适合我,因为我这里没有出现盗版的提示。后来我是直接把前两天下载好的JLink_Windows_V796e_x86_64.EXE重新安装,并且当提示检测到KEIL时,默认选择将最新的J-LINK更新到KEIL目录下就好了。
目前没什么问题,如果后续还出现问题再说吧。
这篇关于J-LINK导致KEIL卡死后的一系列问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!