Keil 无法识别JLink,程序无法下载

时间:2024-04-08 08:37:33

[未经博主授权,不得转载]

CSDN:@radar3344
Baidu/bilibili:@渡渡渡du

最近忙着毕业,草草记录于此,日后再修。
Debug不易,转载之前请与我联系!

你们可能会搜索的一些关键词:

  1. The selected device… is unknown to…
  2. No SW device found
  3. Error: Flash Download failed, target DLL has been cancelled

问题描述:

这部分纯属个人debug记录,无需细看。

今天改项目时,我把这个项目拷到了我不常用的那台笔记本上来改,代码部分改得好好的,编译什么的都通过了,然后就想用板子跑跑看结果如何,结果我那电脑不知道怎么回事,keil死活都识别不出来JLink。在我几乎确保了所有连线、驱动、package等因素都是正确的情况下,还是识别不出来。如下,SW Device一片空白。。。
Keil 无法识别JLink,程序无法下载
点击下载会提示如下错误:
Keil 无法识别JLink,程序无法下载
Keil 无法识别JLink,程序无法下载
然后我把这个修改过的工程又拷回到原来的电脑上,结果还是会出现同样的问题。到这我就纳闷了,上午都能调试的,现在居然连JLink都识别不到了。蒙圈的我又检查了好久连线和驱动等问题,依然没有解决,困扰良久。

接下来我在原来的电脑上打开了之前存的最原始的工程版本,令我惊奇的是,在这个工程下keil居然识别出了JLink。这让我更纳闷了,我电脑连的是同一块板子,为什么一个工程能识别,一个工程识别不出?问题就从这儿开始清晰了起来…

不经意间,我在工程中发现了这两个玩意儿
Keil 无法识别JLink,程序无法下载

这俩是啥,为啥会出现在这里?它们好像和JLink有关?长期与zz软件打交道的我思索了一会,敏锐的嗅出了其中的奥秘…工程里好像不需要它俩,果断将其删除。于是乎,就顺理成章的解决了这个问题。后续操作请看解决步骤。

我想了想其中的原因,可能是我两个电脑的keil版本有某些不兼容的地方,导致我在每个电脑上生成的JLink配置文件是两台电脑互相读不懂的配置,所以才造成了这样的问题。

解决步骤:

一、 删除所在工程中已有的关于JLink的文件

Keil 无法识别JLink,程序无法下载

二、 在keil中进入工程,打开魔术棒,选择debug选项,然后选择JLink,再点击settings

Keil 无法识别JLink,程序无法下载

三、接下来会弹出如下界面,提示为JLink选择设备,我们点击OK就好

Keil 无法识别JLink,程序无法下载

四、点击OK后会弹出选择设备的界面,可以自行搜索自己的设备

Keil 无法识别JLink,程序无法下载
选择自己的芯片设备后即可下载调试啦。

在这里提一下不久前遇到的下载出现问题的一个原因,如下图,size从0x800改到了0x1000
Keil 无法识别JLink,程序无法下载
最后吐槽一下keil……总是会有一些简单却又stupid的问题出现