ST LINK 错误 (DEV_TARGET_HELD_UNDER_RESET)

Jul*_*ane 3 reset stm32 stm32f1

所以我使用的是 STM32F103C8T6 板,几天前它工作正常,但后来尝试使用 keil 视觉编译器加载代码,它显示此消息 STLINK Error(DEV_TARGET_HELD_UNDER_RESET)。之后使用STM32CubeProgrammer也显示同样的问题,仅与“热插拔”模式连接, 如您在此处看到的

它显然是一个重置错误,但我真的不知道它是如何发生的,并且在互联网上找不到太多有关此问题的资源,现在我无法在我的 stm32f103 板上下载任何代码,它显示 此消息

在网上研究后发现可能是焊接问题,但我不认为是这样,我只使用微控制器,而不是任何面包板电路,几天前就完全没问题了。我的所有写入和读取保护复选框在 STM32CubeProgrammer 部分中也未选中。

我在 stcommunity 上的家伙刚刚说“他检查了所有 CPU 引脚,主板开始工作。” 但这是引脚重置的问题吗?在STM32F103C8T6板中,它有一个重置按钮,但如何查找其中的问题?

小智 5

好吧,这就是我所做的,现在它似乎正在发挥作用(我将尽力进行描述,以便您或任何陷入此困境的人可以进行比较):

  1. 我在Ubuntu下使用STM32CubeProgrammer v2.6.0。连接到目标的参数是:
  • 港口:SWD
  • 频率:4000kHz
  • 模式:正常
  • 访问端口:0
  • 复位方式:软件复位
  • 共享:已禁用
  1. 我使用 STM32f4 Discovery 作为程序员,为了实现这一点,应该断开跳线。假设 SB11 跳线(在板下)也应该未焊接,但正如您将看到的,我没有使用 SWD 上的重置线。目标(STM32F103C8T6)独立供电(+3.3V)。

  2. 目标机和编程器之间的连接如下:

  • Prog 引脚 1 (VDD) --> NC
  • Prog 引脚 2(SWD 时钟)--> PA14(引脚#37)
  • Prog pin3 (GND) --> VSS(如果公共数字模拟地,则为引脚# 23、35、47 和 9)
  • Prog pin4 (SWD I/O) --> PA13 (Pin#34)
  • 编程引脚 5 (NSRT) --> NC
  • 编程引脚 6 (SWO) --> NC

我可以通过按钮访问目标的 NSRT(引脚#7)(这很重要)。

当这一切准备就绪后,我所做的就是按住复位按钮,然后按下STM32CubeProgrammer中的连接按钮(不释放复位),等待两秒钟,然后释放复位。经过此过程后,目标已连接,我可以正常对其进行编程。该程序不会立即运行,您需要再次按下并释放重置按钮。