STM32F103 使用SWD下载时,两个芯片呈现不同行为

问题遇到的现象和发生背景

两个STM32F103C8T6芯片A和B使用SWD烧录;前提是两个芯片flash都已经被擦除。
使用工具:J-LINK,keil.

img

  1. 芯片A, STM32CubeMX里面配置的时候,SYS->Debug 选择“No Debug”, 生成代码编译后下载,J-LINK复位脚不接板子,每次都能够下载成功;
  2. 芯片B, STM32CubeMX里面配置的时候,SYS->Debug 选择“No Debug”, 生成代码编译后下载,J-LINK复位脚不接板子,第一次可以下载成功,后面就不能下载成功了;需要把J-LINK的复位脚接到板子上才可以成功。
  3. 芯片B, STM32CubeMX里面配置的时候,SYS->Debug 选择“Serial Wire”,生成代码编译后下载,J-LINK复位脚不接板子,每次都能成功。

请问下大家,为什么会这样啊?

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

因为你不选择debug功能,程序启动后就会禁用调试功能,JLINK就无法再次连上,除非芯片复位。所以你关闭调试功能再接上reset,就可以连上,或者开启调试功能,不接reset也能连上。