STM32CubeIDE Jlink链接Connecting to target...ERROR: DAP error while reading DP-Ctrl-Stat register.

STM32CubeIDE Jlink链接STM32C8T6的 板子的时候,
各类提示,各类错误.
刚入手没啥经验不能快速的定位问题点. 搞了好几个星期.(晚上搞搞)
通过排查, 我写一下我本身的排查经历.
第一次作板子.因为本身对电路不是很懂因此请人设计的电路板… 我本身焊接的元件. 对于独立插接件都焊很差的我,上来就焊贴片元件. 真是如痴如醉,欲哭无泪… 10个板子焊了2个星期. 本身焊的好很差还不知道, 反正各个颗粒饱满,没有虚焊. 又是热风焊,又是电烙铁的. 10个板子焊完,本身也熟练了.web

额外分享一下焊接技巧, 贴片小元件,例如电容,电阻之类的 要先固定一个引脚,而后再焊另一个.
IC芯片这种引脚特别细的又特别多的,
第一步要先在板子上弄一层薄薄的锡,不要粘在一块儿. 不要凸起太多.
第二步冷却后, 开始摆放IC芯片,摆放的时候不要用力压,浮在上面就能够了. 摆放技巧是用弯头镊子去顶芯片引脚,很容易顶到合适的位置. 由于板子上已经有一层薄薄的锡了,刚好能挡住镊子,镊子停住了,芯片引脚也刚好在正上方. 4个脚都顶齐了以后不要动.也不要用力压. ,对于引脚不整齐的IC芯片,建议先在比较平的玻璃上压平,确保引脚是在一个平面上.
第三步:用电热风枪去烤. 烤的时候风力不要太大, 会吹跑的, 也不要过久, 会烤坏了其它的元件. 也不要去用手去压它,由于手必定会抖,哪怕一点点,都会失败重来. 感受差很少了就停下等它冷却了就天然焊好了…
这种方式焊接的IC芯片比较美观, 成功率比较高. 不须要过高深的技巧.也不容易粘到一块儿.
网上有人直接划拉一下就能焊好. 经亲自动手操做发现太须要技巧. 对手工的要求过高, 很容易粘到一块儿,弄不开.新手不建议这种方式去弄.svg

而后就是写程序了.
用的是比较新的STM32CubeIDE开发工具, 这个真的挺好用.比较简单,容易上手…工具

…各类噼里啪啦, 一顿敲打, 程序写完了.开发工具

程序写好了该上线调试了.
代码好写,但是程序就很差烧录了.
在下载烧录的时候各类提示报错,死活下载不了.
通过我用万用表仔细的排查发现板子上的SWDIO和SWCLK两个引脚丝印标反了. 反了就反了呗, 本身知道就能够了.那就反着接.设计

反着接也还不行…调试

仍是有错, 各类错,具体忘记了. 当时那个失望呀. 各类怀疑,
难道是我程序写错了?
PIN配错了?
SW调试功能引脚没配?
Jlink版本太老了,STM32CubeIDE不支持?
我焊错了芯片方向?
引脚粘到一块儿去了?
芯片被我高温烤坏了?
PCB电路布线有问题?
BOOT方式有问题?
电源电压有问题?code

这些问题通过逐一的一个一个的排查, 最大的怀疑是 PCB布线有问题, 电路没设计好, 或者我手工焊接的不合格.
为了排查JLink和软件的问题,网上买了个开发板, 尝试着用JTAG和SW两种方式进行了下载和调试,结果都正常… 能够排除JLink的问题. 都是支持的.我用的是JLink V9 可是对STLink 不支持. 没弄好. 对Jlink-ob也不支持.
剩下的就只能是布线和焊接还有电源问题了.xml

在快要绝望的时候, 我看到篇帖子说电压供电不足也会链接不上CPU.
而后,接通板子上的5v供电电源后, 神奇的事情发生了. 能下载也能调试了.
千言万语都化做一句 我操…
搞了2个月了. 终于快要有眉目了.ip

下面写一下总结:
若是线没链接好 或者 SWDIO和SWCLK弄反了,或者把调试线拔掉 会提示
Connecting to CPU via connect under reset failed.
以下:开发

Command line: -port 2331 -s -device STM32F103C8 -endian little -speed 4000 -if swd -swoport 2332 -vd
-----GDB Server start settings-----
GDBInit file:                  none
GDB Server Listening port:     2331
SWO raw output listening port: 2332
Terminal I/O port:             2333
Accept remote connection:      localhost only
Generate logfile:              off
Verify download:               on
Init regs on start:            off
Silent mode:                   off
Single run mode:               on
Target connection timeout:     0 ms
------J-Link related settings------
J-Link Host interface:         USB
J-Link script:                 none
J-Link settings file:          none
------Target related settings------
Target device:                 STM32F103C8
Target interface:              SWD
Target interface speed:        4000kHz
Target endian:                 little

Connecting to J-Link...
J-Link is connected.
Firmware: J-Link V9 compiled Dec  2 2017 15:35:20
Hardware: V9.20
S/N: 269200585
Feature(s): GDB, RDI, FlashBP, FlashDL, JFlash, RDDI
Checking target voltage...
Target voltage: 2.91 V
Listening on TCP/IP port 2331
Connecting to target...ERROR: STM32: Connecting to CPU via connect under reset failed.

ERROR: Could not connect to target.
Target connection failed. GDBServer will be closed...Restoring target state and closing J-Link connection...
Shutting down...

若是提示 Could not connect to target.
多数是CPU没启动或者SW端口没启用.
个人板子是由于设计的有点问题,另外的5v供电接上之后就正常了.我怀疑跟VSSA,VDDA有关.也有可能电压供电不足有关.

提示以下:

SEGGER J-Link GDB Server V6.44c Command Line Version

JLinkARM.dll V6.44c (DLL compiled Mar 22 2019 17:26:40)

Command line: -port 2331 -s -device STM32F103C8 -endian little -speed 4000 -if swd -swoport 2332 -vd
-----GDB Server start settings-----
GDBInit file:                  none
GDB Server Listening port:     2331
SWO raw output listening port: 2332
Terminal I/O port:             2333
Accept remote connection:      localhost only
Generate logfile:              off
Verify download:               on
Init regs on start:            off
Silent mode:                   off
Single run mode:               on
Target connection timeout:     0 ms
------J-Link related settings------
J-Link Host interface:         USB
J-Link script:                 none
J-Link settings file:          none
------Target related settings------
Target device:                 STM32F103C8
Target interface:              SWD
Target interface speed:        4000kHz
Target endian:                 little

Connecting to J-Link...
J-Link is connected.
Firmware: J-Link V9 compiled Dec  2 2017 15:35:20
Hardware: V9.20
S/N: 269200585
Feature(s): GDB, RDI, FlashBP, FlashDL, JFlash, RDDI
Checking target voltage...
Target voltage: 2.44 V
Listening on TCP/IP port 2331
Connecting to target...ERROR: Could not connect to target.
Target connection failed. GDBServer will be closed...Restoring target state and closing J-Link connection...
Shutting down...
Could not connect to target.
Please check power, connection and settings.libpng warning: iCCP: known incorrect sRGB profile