你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F1系列的DEBUG调试功能需要配置吗?

[复制链接]
STMCU 发布时间:2020-10-26 16:14
STM32F1系列的DEBUG调试功能需要配置吗?


使用STM32CubeMX,配置STM32F1时关于DEBUG的问题,后台问的较多,就写一下相关内容。


1写在前面
STM32CubeMX的好处相信大部分朋友都知道,那就是帮你快速生成初始化代码工程。


虽然方便了开发,但也给一些初学者,或者不怎么懂底层的朋友带来了不少困扰。


特别是使用该工具生成代码,出现问题的时候,如果你不懂一些底层的知识,可能你会很头疼。


本文关于DEBUG配置的问题,针对初学者,我也把前因后果简单说一下。


2起因
STM32CubeMX配置STM32F1系列MCU时,第一次能下载成功,但第二次,会出现如下错误:
1.png
这是什么错误?


没有连接到目标,也就是你的下载器(ST-LInk)是正常的,只是没有识别到你MCU。


这里推荐阅读专栏文章:ST-Link资料


3分析原因
可能很多初学者看到这个错误,第一反应是不是下载区器坏了,或者接线不良等问题。


其实不然,直接原因是STM32CubeMX这个工具初始化的代码,失能了DEBUG功能,也就是与ST-Link连接的SWCLK、SWDIO引脚不能作为DEBUG功能了。


STM32CubeMX默认配置:
2.png
调用代码HAL_AFIO_REMAP_SWJ_DISABLE:
3.png
进一步分享,直到深入底层:
4.png
看到这里,相信大家都明白其中原因了。


但是,新的问题:为什么配置STM32其它系列(如STM32F4)不会出现在这个问题呢?


其实也是需要通过分析底层,答案就是STM32F1系列关于AFIO的控制器和其它系列有一定差异。


其它系列是通过一个系统配置控制器 (SYSCFG)来实现一些特殊功能,没有关于DBUGE的SWJ-CFG几个位(上图)。


4出现不能下载,怎么解决?
如果出现文中说的,第一次下载之后,连接失败,解决的办法很多,这里列几点常见方法。


1.STM32CubeMX配置成对应模式


比如你下载器的S-Link,配置成SWD模式:
5.png
2.复位之后立刻连接


使用J-link带复位引脚模式


按着复位键->连接 -> 释放复位键


3.使用串口下载


有两种方式:


启动内嵌Boot,使用串口下载,请参看文章《STM32自举程序,你了解多少?》


IAP功能,有一段Bootloader程序,通过串口更新应用程序。


5拓展
STM32部分型号MCU不带JATG功能,比如STM32F0、STM32G0等。
6.png









收藏 评论0 发布时间:2020-10-26 16:14

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版