我设计了一个简单的STM32板。下面是原理图和pcb布局图片:
上图中仅显示了与我的问题相关的设计部分。
我的问题是:我尝试使用 STM32 Discovery Board 的内置 ST-Link 来编程这个定制板,但我还没有成功。PC 上的 ST-Link Utility 应用程序可以识别编程器,但无法检测到目标 MCU。我收到的错误消息是:“目标未连接”和“ST-Link USB 通信错误”。
以下是有关我的问题的一些相关事实:
- STM32 探索板工作正常:我可以使用它的内置 ST-Link 对其板载 STM32 MCU 进行编程。还行吧。
- STM32 MCU 已按正确方向焊接在定制板上。我检查了两次。
- 我检查了 VDD 和 SWD 迹线。它们连接良好(没有焊接问题)。引脚 Boot0 为 0V。引脚 NRST 为 3.3V。
- SWD 电缆很短,只有 7-8 厘米长。
- 我定制板上的 STM32 与 Discovery Board 上的型号相同。
我已按照 STM32 Discovery Board 手册中有关如何使用 Discovery Board 对外部 STM32 MCU 进行编程的说明进行操作。更具体地说,我移除了 2 个 CN3 跳线,然后按照下表连接电路板:
我还移除了探索板上的焊桥 SB11(以便引脚 NRST 可以正常工作)。
- 我已经尝试过 ST-Link Utility 应用程序和 Keil。我得到的错误信息是一样的。
- 起初我没有连接上表 (SWO) 上的引脚 6,因为据我所知这没有必要。但是在那之后我也连接了它,但事情仍然没有解决。
- 我还在引脚 NRST 到 GND 之间添加了一个 100nF 电容,然后从该引脚到 VDD 增加了一个 100k 上拉电阻。问题仍然存在。
- 我还尝试使用 ST-Link 实用程序的“重置下连接”模式。也没有运气。
我怀疑设计可能有问题,但我不确定。请帮我解决问题。
非常感谢 :)