打印
[STM32F1]

SWD方式连接STM32芯片无法识别

[复制链接]
570|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jkl21|  楼主 | 2024-2-28 21:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前段时间,做了一块板子,调试接口只留了三个口SWD、SWCLK、GND,在使用Jlink的SWD方式调试的时候发现无法连接。使用ST-link的时候可以连接,无奈楼主的ST-link的链接方式相当的不可靠,时而能识别时而不能识别:当然我的ST-link是山寨版的。


通过查阅网上资料发现,jlink的20针,不光有调试的功能还有供电和检测电压的功能。
下面是jlink的接口图

通过上面图片可以发现,jlink的1脚叫做VTref,这个从字面意思理解应该是参考电压的意思,没错,这个管脚就是板子给Jlink内部缓冲芯片供电的接口,这个地方供几伏,缓冲芯片的IO电平就是几伏的。起了一个电平匹配的作用。

20针JTAG的2号针可以提供VCC供电。打开J-Link
Commander输入power on时,发现2号针脚输出的是3.3V电压,那么可以通过直接短路1、2号针来解决问题。

好多板子上的20针调试接口是按下图连接的。


那么短接完成,如果再采用20针调试的时候就要注意了,jlink的3.3V千万不要与开发板上20针接口的3.3V接在一块,否则会有烧坏jlink的可能,这个时候就要设置jlink不给开发板供电了。

/************************************************************/
- ERROR: RAM check failed @ address 0x20000000.
- ERROR: Write: 0x03020100 07060504
- ERROR: Read: 0xAAAAAAAA AAAAAAAA
- ERROR: (0 bytes of RAM have been checked successfully)
- ERROR: Failed to test speed
短接Jtag接口的1 2 脚即可正常烧写,但是之前烧写stm32vet6不需要短接也可以正常烧写,还是比较困惑的,不太清楚根本原因在哪里。

使用特权

评论回复
沙发
digit0| | 2024-2-29 13:40 | 只看该作者
确保SWD引脚连接正确无误。通常需要连接的引脚包括SWDIO、SWCLK、GND和可选的NRST。确保线路没有短路,并且接触良好。

使用特权

评论回复
板凳
LinkMe| | 2024-2-29 13:41 | 只看该作者
某些开发板上可能有用于切换调试模式的跳线,确保已经正确设置为SWD模式。

使用特权

评论回复
地板
理想阳| | 2024-2-29 13:42 | 只看该作者
有可能是供电不足?

使用特权

评论回复
5
ClarkLLOTP| | 2024-2-29 16:59 | 只看该作者
换个杜邦线试试

使用特权

评论回复
6
Henryko| | 2024-2-29 22:40 | 只看该作者
质量差的杜邦线确实又可以是

使用特权

评论回复
7
21mengnan| | 2024-2-29 22:57 | 只看该作者
芯片是不是坏了,如果没有检查连线。

使用特权

评论回复
8
Charlene沙| | 2024-2-29 23:12 | 只看该作者
无法识别是几种,有可能是芯片嘎了,有可能是flm没选对,有可能是线没接对等等都有可能

使用特权

评论回复
9
lzbf| | 2024-3-2 08:24 | 只看该作者
检查SWD接口的连接是否正确。SWD接口通常包括4个引脚:SWDIO(数据线)、SWCLK(时钟线)、RESET(复位线)和3.3V(电源线)。

使用特权

评论回复
10
qiufengsd| | 2024-3-2 23:03 | 只看该作者
SWD线序正确,且连接线完好无损。同时,检查芯片的供电是否正常,供电电压应在3.3V左右。

使用特权

评论回复
11
dspmana| | 2024-3-3 14:19 | 只看该作者
SWD接口需要一个稳定的时钟信号。如果STM32芯片没有正确的时钟配置,可能会导致无法识别。

使用特权

评论回复
12
jtracy3| | 2024-3-4 13:54 | 只看该作者
确保SWD线序正确,即SWDIO对应SWDIO,SWCLK对应SWCLK,GND对应GND。如果线序错误,可能导致芯片无法被正确识别。此外,检查连接线是否存在断路或短路的情况,如果有,需要修复或更换连接线。

使用特权

评论回复
13
hearstnorman323| | 2024-3-7 13:58 | 只看该作者
编程器/调试器已正确配置为SWD模式,并且波特率设置正确。不同的编程器/调试器可能有不同的SWD波特率设置,通常在几兆赫到几十兆赫之间。

使用特权

评论回复
14
classroom| | 2024-3-8 11:26 | 只看该作者
检查SWD线序是否正确,以及连接线本身是否通断。

使用特权

评论回复
15
laocuo1142| | 2024-3-8 11:27 | 只看该作者
使用的Jlink/Xlink下载器可能存在问题,或者JLink驱动没有正确安装

使用特权

评论回复
16
powerantone| | 2024-3-8 14:56 | 只看该作者
可能是BOOT引脚与RST复位引脚问题

使用特权

评论回复
17
probedog| | 2024-3-8 15:56 | 只看该作者
供电不稳定?

使用特权

评论回复
18
classroom| | 2024-3-8 20:06 | 只看该作者
检查并更新Jlink/Xlink下载器及其驱动,

使用特权

评论回复
19
sanfuzi| | 2024-3-9 19:28 | 只看该作者
对于STM32的最小系统配置,BOOT0和BOOT1引脚应该设置为低电平,RST复位引脚也应保持低电平。检查这些引脚的状态是否符合要求。

使用特权

评论回复
20
nomomy| | 2024-3-14 22:18 | 只看该作者
检查SWD连接线序是否正确,包括SWDIO、SWCLK、GND等线路是否按照正确的方式连接到调试器和开发板上。同时,确认BOOT0和RST引脚的状态是否正确,通常BOOT0需要设置为0(接地),而RST需要拉高(接3.3V或5V)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

3157

帖子

2

粉丝