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