一、问题描述
用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()。


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

1399

被折叠的 条评论
为什么被折叠?



