STM32CubeMX生成代码出现检测不到SW错误

在使用STM32CubeMX生成代码并尝试下载时遇到SW未被检测的问题。通过检查HAL_Init()和HAL_MspInit()函数,发现调试功能未正确启用。解决方案是将__HAL_AFIO_REMAP_SWJ_DISABLE()更改为__HAL_AFIO_REMAP_SWJ_NOJTAG(),并在STM32CubeMX中将SYS Debug配置为Serial Wire,从而成功解决下载问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述

用STM32CubeMX生成代码后,下载到芯片里时,出现错误,说没有监测到ST-LINK,但是我们明明已经把ST-LINK连上了,一定是设置出了问题。
在这里插入图片描述
按照下图的顺序查看,红框的位置显示是否监测到SW,确实没有检测到SW
在这里插入图片描述

二、解决问题

1. 问题的原因

问题出现的程序里,进入main()函数,找到HAL_Init()函数,跳转到定义,再进入HAL_MspInit()函数
在这里插入图片描述
问题就出在红框处的代码,没有使能SW
在这里插入图片描述
进入__HAL_AFIO_REMAP_SWJ_DISABLE(),这些函数使能/失能调试功能的。我们这里只用SW调试方式,所以替换为__HAL_AFIO_REMAP_SWJ_NOJTAG()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值