以下讨论基于使用CubeMX生成代码所产生的报错
报错情况
代码下载报错

点击调试按钮之后的报错

解决方案
找到文件 stm32f1xx_hal_msp.c
注释函数 void HAL_MspInit(void) 中的 __HAL_AFIO_REMAP_SWJ_DISABLE(); 即可。

其他
当发现调试过程中不进断点,或没有按照预期进入断点,首先应该考虑的是降低编译器的优化级别!!!
20-10-31补充
上述问题可以在CubeMX -> System Core -> SYS -> Debug选项中直接设置。

因为STM32F103C系列单片机默认配置是不支持Debug,所以会出现前文所述的现象。
本文介绍了在使用CubeMX生成代码后遇到的调试问题,包括代码下载报错和调试不进断点的情况。解决方法是注释掉stm32f1xx_hal_msp.c文件中的__HAL_AFIO_REMAP_SWJ_DISABLE()函数,并在CubeMX的Debug选项中直接设置。同时提醒,STM32F103C系列默认配置不支持Debug,这可能导致调试问题。
1986

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



