STM32CubeIDE使用过程中出现的一点问题和解决方法
最近逛ST官网的时候发现ST新推出了自己的IDE,怀着爱折腾的心情下载安装了win版本的试试(毕竟免费)。虽然中途出现了一点小问题,但总的来说体验还是可以的。不废话了,我们开始吧。
STM32CubeIDE简介
主要特点
- 集成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给我报错了。截图如下
IDE提示ST-Link初始化错误,刚开始我以为是debug配置不对,开始改debug配置,但依然没用。后来百度到了问题所在,[开发工具]stm32 ST-Link下载出现 No target connected解决办法(都是cubeMX的坑) 原来是在cubeMX配置的时候没有使能JTAG/SWD调试口,结果我下载一次程序以后下载口就被禁用了,导致第二次下载不了程序。
解决方法
既然知道是因为程序中禁用了下载口,那么首先要做的就是在cubeMX的配置中启用JTAG/SWD下载,配置如图
再次生成代码就行了。那现在就剩一个问题,怎么解锁stm32的SWD口呢,我找到的方法需要用到J-link,详情看这里
方法
打开KEIL MDK,现在还是用ST-Link连接的状态,可以看到keil里并没有找到STM32芯片
换用J-link后也不用做什么特殊操作,可以看到keil识别出了STM32芯片,说明SWD下载口现在已经可以使用。然后用keil随便下载一个程序即可。注意要重新下载,否则STM32CubeIDE依然会报错
现在换回STM32CubeIDE就能正常下载程序了。
*文中不足之处,欢迎提出建议或解决方法。