Jlink的三线制SWD方式连接STM32芯片无法识别的解决方案" }! n2 M) L) g2 u' E) T; w
$ c# Y4 f! u0 i8 E
Jlink v9硬件+ boot 完全资料7 R- n/ g& x% t- ]7 h) G: a
9 a+ P# N7 D, C0 X. z) }0 {: b: w* O( r0 S" g
/ i& l& A) Q( ^3 \很多时候,我们做在线仿真的时候,有时候能用Jtag,有时候是Jlink,有时候又是ST-Link(点击下载),哈哈,这么多接口,你分得清吗。。。
3 |! }' I" g: k) ]4 f: C! O! X- {: \0 ?$ ~6 r* \" o/ |7 ]* S( y
对了,还有本文提到的SWD。
) q% S! N" {2 _7 J/ `; ]- G4 Q% RSWD 仿真模式概念简述- J) |, n+ S% C" K
& G ^7 m! `& l2 A/ L9 s' i
一、SWD 和传统的调试方式区别
" H9 K- `$ [$ N; E% G2 Y) z: |! y
2 x: n5 P# z2 _ d: Z- d 1. SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推荐大家使用这个模式。
- R3 x Y: V2 u# C4 g* i 2. 在大家 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚。
* f, {; K! S6 o& E 3. 在大家板子的体积有限的时候推荐使用 SWD 模式, 它需要的引脚少, 当然需要的 PCB 空间就小啦! 比如你可以选择一个很小的 2.54 间距的 5 芯端子做仿真接口。
O! Z6 T+ x ~/ ]4 N4 B( k# m" T. ?' i! V4 n4 I, [6 c8 l
二、仿真器对 SWD 模式支持情况
& ?, q1 F, {2 E$ `+ ~% Y8 |% @; J8 k- K2 U: ]$ X
1. 市面上的常用仿真器对 SWD 模式支持情况
. t5 u7 g; }! s5 T: C f' J1 t* U
(1) JLINKV6 支持 SWD 仿真模式, 速度较慢。
$ C, S" M: E( t9 t5 b(2) JLINKV7 比较好的支持 SWD 仿真模式, 速度有了明显的提高,速度是 JLINKV6 的 6 倍。
: t8 B- C1 ]/ m. K7 K/ P- V; D (3) JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M。
2 o. O, b: J, A(4) ULINK1 不支持 SWD 模式。
1 T) U5 S h7 C8 B+ w& V, h6 g5 P/ R(5) 盗版 ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M。
8 i/ M$ X8 N9 t& y- ^(6) 正版 ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M。
1 d/ X3 g i& @: X' c4 ]本开发板使用三线制SWD(GND,SWDIO,SWCLK)。 + T1 O, _/ R6 M# C! k
|
http://www2.keil.com/coresight/coresight-connectors/" O7 n) s& ]$ H* Z, H6 R9 w3 y
" d+ {# x) s# j9 f* v$ X/ H
目标板已经上电的情况下, ULINK 只需要3跟线连到目标板:
SWCLK SWDIO GND.0 h# B$ a# U$ q! E# o
# U. s$ E# ^% j2 k+ e: M
但是部分MCU下载完后要按复位才能跑起来,
关键在于知道什么样的接口有什么样的特性,有的jlink和jtag都能用,可是选择什么合适?
嗯,用的基本上都是一个端口,只是在配置上和使用的引脚上有区别
通用的,也看仿真器的支持吧
我们实验室一直用SWD,这样板子设计可以节省空间