maoyzxc 2022-04-07 16:50 采纳率: 0%
浏览 38

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复位脚不接板子,每次都能成功。

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

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

1条回答 默认 最新

  • qllaoda 2022-04-07 17:09
    关注

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

    评论

报告相同问题?

问题事件

  • 修改了问题 4月7日
  • 创建了问题 4月7日