最近试用了一下 ST 自家的 STM32 IDE 工具——STM32CubeIDE,STM32CubeIDE 是一个多功能的集成开发工具,集成了 TrueSTUDIO 和 STM32CubeMX,它是 STM32Cube 软件生态系统的一部分。
STM32CubeIDE 下载地址:https://www.stmicroelectronics.com.cn/en/development-tools/stm32cubeide.html

由于之前使用的开发环境和调试工具是 Keil+J-link,一直没有出现问题,但这次将 J-link 使用在 STM32CubeIDE 下时出现了问题,具体表现是可以正常下载,但是仿真时出现“The connected J-Link is defective”的警告,如下图所示。

经过一番搜索,发现是 STM32CubeIDE 自带的 J-link 驱动版本太高,与 J-link 调试的固件版本不符,导致这个问题的出现。解决办法就是将 STM32CubeIDE 自带的 J-link 驱动文件 JLinkARM.dll 替换为老版本的,具体目录为:
C:\ST\STM32CubeIDE_1.6.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.jlink.win32_1.6.0.202102121925\tools\bin\JLinkARM.dll
这个目录不太好找,不像 Keil 下 C:\Keil_v5\ARM\Segger 这么容易找到。
老版本 JLinkARM.dll 文件下载地址:
除此之外,还有利用 ollydug 反汇编 J-Flash 解决 The connected J-Link is defective 提示框和不能仿真的问题,稍微麻烦,实质上还是替换 JLinkARM.dll 文件。有兴趣的可以参考:不替换降低 jlinkarm.dll 版本,利用 ollydug 反汇编 J-Flash,完美解决去掉 The connected J-Link is defective 提示框和解决不能仿真的问题
扫码关注尚为网微信公众号

原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/embedded/935.html