首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用ST-LINK实用程序连接时,出现“未检测到ST-LINK”错误消息

尝试使用ST-LINK实用程序连接时,出现“未检测到ST-LINK”错误消息
EN

Stack Overflow用户
提问于 2017-06-22 23:06:13
回答 4查看 42.3K关注 0票数 4

我有一个(带有STM32F401RE的) NUCLEO-F401RE board,它在大多数情况下都工作得很好。最近,我阅读了"Mastering STM32“一书中的一个教程,里面说要安装OpenOCD。在此之前,我也一直在跟踪,并且我已经能够连接到我的面板并将其闪烁,没有任何问题。

但是,在尝试让OpenOCD工作之后,这就不再可能了。每次我尝试连接到我的主板时,都会得到以下错误信息:

代码语言:javascript
复制
No ST-LINK detected

我已经多次尝试更新驱动程序、重新启动主板、重新安装ST-LINK实用程序、切换USB电缆、重置主板并重新安装所有内容,我还尝试了按住重置按钮并尝试擦除芯片的技巧。不幸的是,到目前为止,这些都没有对我起作用。

Here你找一张我冲浪板的照片。

在我的桌面上,我使用的是Windows10。在我的主板上,我使用的是FreeRTOS。Here你会发现我的视窗设备管理器的图像。

我也曾尝试使用ST-Link升级更新我的主板上的固件,但没有成功。尝试此操作时,我无法选择我的设备(使用.jar应用程序时),或者使用.exe应用程序时,我只收到以下错误消息:

代码语言:javascript
复制
No ST-Link device detected
Please connect it and then retry

我在任何地方都找不到解决这个问题的方法,所以我希望你们能帮助我!如果您需要任何进一步的相关信息,请让我知道。非常感谢。

EN

回答 4

Stack Overflow用户

发布于 2020-05-24 07:00:31

正如在其他答案中提到的,这个问题几乎可以肯定是由于竞争的驱动程序(比如libusb)控制了设备。

但是,假设您以前已经安装过一次驱动程序,则不需要“卸载并重新安装所有内容”来选择正确的驱动程序。此外,重新安装程序很可能不会有帮助,因为卸载程序通常不会卸载驱动程序,而Windows将继续首选相同的错误驱动程序。

相反,请打开设备管理器,找到您的STM32 STLink设备,双击以打开属性对话框。然后单击“更新驱动程序”,然后单击“浏览我的计算机上的驱动程序软件”,然后单击“让我从我的计算机上可用驱动程序的列表中选择”,您应该会看到类似这样的内容:

您可以看到,在此示例中,系统上至少有四个不同的驱动程序乐于为设备提供服务。前两个是通用的libusb驱动程序,不是特定于软件狗的(如果我没记错的话,OpenOCD很乐意使用这两个驱动程序)。然而,ST-Link实用程序需要一个由STM开发的专用驱动程序-这是我图片中的两个条目。如果您没有看到这些,请尝试重新安装ST-Link实用程序(不需要卸载任何东西),或者只从STM网站下载driver

现在,您可以单击此列表中的首选驱动程序,并让它替换以前分配给设备的任何驱动程序。

票数 2
EN

Stack Overflow用户

发布于 2017-06-23 17:20:12

根据我糟糕的经验,当您断开连接或其他程序正在使用ST-LINK时,STM32实用程序中会显示“未检测到ST-LINK”消息。因此,如果在安装OpenOCD后出现此启动,请尝试卸载此程序,然后重试(可能使用选项“在重置下连接”?)。

供你参考。当您将电缆插入PC并打开电路板,然后在设置(STM32实用程序)中,您可以看到可用的ST-Link(甚至被阻止)。Here is example when ST-Link is blocked

票数 1
EN

Stack Overflow用户

发布于 2017-06-23 19:57:59

根据我所了解和理解的(但每个人都可以纠正我:)),您的板分为两部分:

  • ST-Link调试器部分;用实际的microcontroller.

  • 其余部分

ST-Link部分用于闪存微控制器,并可用于通过SWD闪存任何其他STM32F4设备。配上你的照片:

STM32 ST-Link实用程序使用主板的ST-Link部分对其进行刷新。我的观点是,如果您有“未检测到ST-Link”,我非常确定,问题不是来自微控制器部分,而是来自ST-Link部分。既然你在安装openocd之前就说过它是有效的,我建议你使用W10中的驱动程序部分,这可能是你问题的根源。

尝试通过设备管理器卸载所有与STM32 (openocd,STM32 ST-Link Utility及其驱动程序)相关的东西(我的意思是 everything )。

仅重新安装STM32 ST-Link实用程序(如果您确实正确卸载了驱动程序,它应在安装过程中询问您安装驱动程序的许可),并尝试连接您的主板。

您还可以尝试移除主板上的SWD跳线(连接器CN2),将ST-Link从内置微控制器部件中分离出来。由于ST-Link部分是独立的,因此STM32 ST-Link实用程序仍会检测到它(但如果您想要对微控制器进行实际编程,则必须将跳线放回原处)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44703157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档