STM32CubeIDE使用过程中出现的一点问题和解决方法

最近逛ST官网的时候发现ST新推出了自己的IDE,怀着爱折腾的心情下载安装了win版本的试试(毕竟免费)。虽然中途出现了一点小问题,但总的来说体验还是可以的。不废话了,我们开始吧。

STM32CubeIDE简介

stm32cubemx好用吗 stm32cubeide好不好用_ST-Link


主要特点

  • 集成STM32CubeMX,提供以下服务:
  • STM32微控制器选择
  • 引脚分配,时钟,IP和中间件配置
  • 项目创建和初始化代码的生成
  • 基于Eclipse™/ CDT,支撑ECLIPSE的™插件,GNU C / C ++中ARM ®工具链和GDB调试器。

其他高级调试功能包括:

  • CPU内核,IP寄存器和内存视图
  • 实时变量观看视图
  • 系统分析和实时跟踪(SWV)
  • CPU故障分析工具
  • 支持ST-LINK(STMicroelectronics)和J-Link(SEGGER)调试探针
  • 从Atollic导入项目® TrueSTUDIO ®和AC6系统工作台的STM32
  • 多支持操作系统:Windows ®,Linux的®和MacOS ®
    (摘自ST官网)

安装和新建工程

STM32CubeIDE的安装十分简单,可以说是傻瓜式的安装了,我安装的时候很顺利。
STM32CubeIDE自带cubeMX,新建工程比较简单,但这里有个坑(起码我掉进去过23333)我们等会讲,具体步骤可以参考这篇博客

下载时遇到的问题

为了试手我新建了一个blink工程,简单写好程序后开始下载,第一次下载成功了,没有什么问题。但是当我第二次下载的时候IDE给我报错了。截图如下

stm32cubemx好用吗 stm32cubeide好不好用_解决方法_02


IDE提示ST-Link初始化错误,刚开始我以为是debug配置不对,开始改debug配置,但依然没用。后来百度到了问题所在,[开发工具]stm32 ST-Link下载出现 No target connected解决办法(都是cubeMX的坑) 原来是在cubeMX配置的时候没有使能JTAG/SWD调试口,结果我下载一次程序以后下载口就被禁用了,导致第二次下载不了程序。

解决方法

既然知道是因为程序中禁用了下载口,那么首先要做的就是在cubeMX的配置中启用JTAG/SWD下载,配置如图

stm32cubemx好用吗 stm32cubeide好不好用_stm32cubemx好用吗_03


再次生成代码就行了。那现在就剩一个问题,怎么解锁stm32的SWD口呢,我找到的方法需要用到J-link,详情看这里

方法

打开KEIL MDK,现在还是用ST-Link连接的状态,可以看到keil里并没有找到STM32芯片

stm32cubemx好用吗 stm32cubeide好不好用_STMCubeIDE_04


换用J-link后也不用做什么特殊操作,可以看到keil识别出了STM32芯片,说明SWD下载口现在已经可以使用。然后用keil随便下载一个程序即可。注意要重新下载,否则STM32CubeIDE依然会报错

stm32cubemx好用吗 stm32cubeide好不好用_stm32cubemx好用吗_05


现在换回STM32CubeIDE就能正常下载程序了。

stm32cubemx好用吗 stm32cubeide好不好用_下载错误_06


*文中不足之处,欢迎提出建议或解决方法。