实验环境如下:DAPLink 是 MuseLab 的 nanoDAP v2.35,,STM32F411 测试板是 WeAct Studio 的 STM32F411CE 核心板 V3.1。
如下图,,这个板子有三个 GND,,测试发现,,当连接板子的 GND1 时,无法连接内核,,当连接板子的 GND2、GND3 时,,很容易连接内核
我测了下,,这三个 GND 之间的电阻只有 1 欧姆,,可以认为是连接良好的。。搞不懂为什么会出现这种现象,,
另外,,所还用 PyOCD 作为上位机连接过板子,,接 GND1 连接失败时报错如下:
(vexe) D:\Python38\vexe\Scripts>pyocd cmd -t stm32f412xe
0001519 E Error while initing target: Unexpected ACK value (5) returned by probe [commander]
在线
我把这种现象问了板子的店主,,他说是因为我的 DAPLink 驱动能力不足。。
感觉可能是这个原因:因为用 Jlink 的话,,接 GND1 也大概率能连上。。Jlink 的 SWD 引脚都是由专门的驱动 IC 驱动的,而 DAPLink 是单片机的 IO 直接驱动 SWD 信号。。
不过又感觉很奇怪,,毕竟驱动 SWD 的两个引脚需要多大的驱动能力??而且这三个 GND 为什么用 DAPLink 连的时候还有区别??
搞不懂
在线
SWD的接口烧程序时都得用SWCLK和SWDIO附近的GND,这样减少回路增强抗干扰
离线
同一个GND网络电阻达到1欧姆是不正常的,不排除板子画的时弄错成多个网络名,实际上通过某种器件连起来的
我一般不用杜邦线来调试,特别是不用杜邦线来供电,除非是电流真的非常小。杜邦线经常是各种不可靠。看你的连线,如果把开发板的C口也连到电脑上,或者会成功率更高一些(通过USB线连到电脑的GND了)
离线