如何将外部 ST-Link/V2 与 STM32F4 探索板结合使用

电器工程 stm32 程序员 标记 stm32f4 swd
2022-01-18 04:33:53

我有一个STM32F4 探索板和一个ST-Link/V2编程器。

我想使用我自己的 ST-Link(不是嵌入式的)来编程和调试电路板。

我应该如何将外部 ST-Link 连接到开发板?

2个回答

您需要将微控制器与电路板的 st-link 部分隔离开来。为此,只需移除 CN3 引脚上的跳线即可。

CN3位置 'CN3'

然后,要使用您的外部 st-link,请对 microconroller 排针进行以下连接:

  • SWDIO -> PA13
  • SWCLK -> PA14
  • 接地 -> 接地
  • VAPP -> 3V/VDD

  • 请勿连接 USB 电缆

在 SW 模式下对其进行编程。

不知道您为什么要这样做,除非您想使用 JTAG 对其进行编程。如果是这种情况,请告诉我,我会更新答案。

STM32F407G-DISC1 说明(更新 STM32F4DISCOVERY)

更新 ST-Link/v2 固件

正如这个答案中所解释的,一些最新版本的 STM32F407G-DISC1 在其板载 ST-Link/v2 中包含固件,除非它们连接到 USB 设备,否则会将 F4 拉入复位状态。

  1. 下载ST-LINK Utility并将其安装到 Windows PC 上。

  2. 选择ST-LINK | 固件更新 | 设备连接 | 是的>>>>

V2.J32.M22已知版本可以工作。

提供外部电源

接下来,从外部电源(例如 AC 到 USB 电源适配器)为电路板供电。外部 ST-Link/v2 不供电。请勿将其插入您正在编程的 PC,否则您可能会不小心尝试使用板载版本进行编程。

移除 CN3 跳线

如@Sensor 的回答所示,去掉两个 CN3 跳线,将 F4 芯片与板载 ST-Link/v2 隔离。

连接外部 ST-Link/v2

根据ST-Link/v2 手册,在外部 ST-Link/v2 和 DISCOVERY 板之间连接以下连接

PIN1  (VAPP)      -> VDD
PIN7  (TMS_SWDIO) -> PA13
PIN9  (TCK_SWCLK) -> PA14
PIN15 (NRST)      -> NRST
PIN20 (GND)       -> GND

PIN15从 Windows 编程时并不严格需要,但在openocd使用默认stm32f4discovery.cfg配置进行编程时需要。

程序

以下命令可用于使用macOS上openocd安装的最新主分支进行编程。brew install --HEAD openocd

$ openocd -f board/stm32f4discovery.cfg -c "program app.elf" -c reset -c shutdown