问题描述:在使用STM32 的debug功能时,报错“Cannot access target Shutting down debug session”
操作环境:STM32CubeMX+Keil5,使用STM32CubeMX生成配置代码,用keil5做IDE开发。
经过查找问题发现是在STM32CubeMX的配置时出现的问题,SYS→Debug中选择了No Debug,如下图所示,这就默认使得程序配置关闭了Debug模式,所以导致上述错误。
STM32CubeMX的SYS→Debug中可选的Debug模式有,如下图所示
我在keil中配置的是使用ST-link的SWD模式,SWD模式只需要最少的2根引脚线就可以下载并且调试代码,所以我们在上述几种debug模式中选择的模式为:Trace Synchro Sw (2 bits),选择之后的引脚图如下所示:
只有这两个引脚被配置成了调试引脚,然后重新生成代码,在keil中打开调试通过。
注:经过测试发现选择Jtag with Trace Synchro Sw (2 bits)也可以调试,但是会占用其他引脚,所以最终还是选择的Trace Synchro Sw (2 bits)。