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

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

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

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

…各种噼里啪啦, 一顿敲打, 程序写完了.

程序写好了该上线调试了.
代码好写,可是程序就不好烧录了.
在下载烧录的时候各种提示报错,死活下载不了.
经过我用万用表仔细的排查发现板子上的SWDIO和SWCLK两个引脚丝印标反了. 反了就反了呗, 自己知道就可以了.那就反着接.

反着接也还不行…

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

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

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

下面写一下总结:
如果线没连接好 或者 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

你可能感兴趣的:(单片机)