你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【源码】STLINK-V3MINI 高速USB仿真器,成功改刷【高速CMSIS-DAP】  

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。3 |  j5 X8 o4 H" E- s! |+ c
2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
* `! _. h0 V  y, p- [2019-12-22 更新,SWD clock 达到18MHz(最大)。4 k$ I  ^. R. ]6 p1 V
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。% \; n& w  l6 c, L3 T4 r; J
2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。* P4 e8 Q. j6 p
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
: W! t" P+ V) ]4 X! f* k, ?+ @

6 J& ]" U6 B" E* j0 L$ z  ^" zhttp://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI
- i9 b' t0 q3 R. H& t) t$ f6 v: T" l- g1 L; t
YAB:$ v! o+ T: ~: C+ f9 ]1 u
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html  g1 e( E6 o( v. y8 a  F: c, C4 w
http://github.com/RadioOperator/Yet_Another_Bootloader
; n1 n) L" n" C0 G, d: ]. Z9 f$ ^% h8 ?9 M8 x2 e$ r8 T
人生贵在折腾。
4 [% B: _, i/ H) \) vST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。6 \3 @7 `. w" Q% D
* I- [3 n; ?/ d( G# f& T. S
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
8 ^( ?1 z, L( t缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。
% P7 n( [" f* R. D- O
, o, g: ~: ?  b( K6 c0 J官网:http://www.st.com/en/development-tools/stlink-v3mini.html8 |: O3 \: n/ A8 w! G; b. E
# H+ z$ }$ U& B: w& s7 E! [8 Y
就是它:4 u1 d. H- @# p: m5 ~( }
p.jpg
8 p7 ]8 l) X" f& c! i3 P6 d
/ S. v( K$ G+ {6 p8 p. l6 t3 Y改造后:留意我加了一条红色的连线。
3 Z  d9 M5 c( W2 h$ w% F) m IMG_20190831_222637.jpg # S$ {3 ~) c- o/ b  ~
IMG_20190831_222702.jpg " K; O, S/ r5 s- S. h2 W

, f% @, i: z  f从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。
' C6 a( u  e( L# b  p: v. w! q2 M/ H% R1 b
后续可能的发展:
1 U; R. ~. i! g6 J$ e1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。% X4 B% V( g' F* V9 C% K/ O  K2 c

" u( d7 s5 X; h9 ~3 l# o+ A1 b2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。& g( c/ h$ h. ]& A) ?8 ^
# l% B8 i( d0 V  t' H
3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。6 b+ M* x$ z9 r) G

0 {4 m+ d' c/ x' R6 E4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。
2 k# b" E! x2 h6 y$ V9 l! o. B& O  p7 t( f% ^
2919-09-22更新,CMSIS-DAP源码,见附件。4 E8 N, [/ n' }4 \" I, h: a3 a
重要的一张图,花了我很多时间才搞出来的:6 K. M- E# Q! O& z% s& V$ q
STLINK-V3MINI_GPIOs_v4.JPG
% u" k1 T! m' S+ e; v) ~6 D: Y1 H: ?0 u
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
" t# Q" P: E! d9 b/ t
- b2 A( M7 j% h  s* A9 i/ R) V另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
2 C! d0 R1 p6 Y( b) h9 N6 }% J4 z: S- g* ]$ V
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
7 m8 j. n# Y! E) p" O WinUSB Device.jpg
# j3 j6 k' c: `6 a6 d. }0 J  `" {- B% p: W3 p* b" g

8 _1 |, m+ I* {' B0 |! h# C, Q还有许多方面可以玩的,比如:+ n+ B5 L/ y# D, I; a5 x" S
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
" q. w6 m' T% H. y - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
& ^! E, k8 k  j. W# B( y# ` - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
) y7 U! y! N2 r - 还有......我们有512KB的Flash,能做很多很多事情。
# [# _- D/ j' ~& L$ B' O5 a  S: a; @& j1 n5 i/ A( q
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
+ R7 `7 S$ t$ l$ P1 r如果真的自己做板,千万别照抄,可以改进的地方很多。# s$ A7 L" N* c9 ^
* c' g2 R; e  r0 T7 c8 X" _& S+ O
CMSIS-DAP.jpg % H4 S9 ~5 d/ W1 g

6 x  `0 p0 i* q( {& [  O3 s0 R/ \! c; v; u
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)
; }4 J2 E6 _- S) K9 O+ b
/ X' |" y- s2 V' F  E* W5 e' `- m

! D4 B( _8 H& ^. ~$ k5 V(以下内容与35楼相同,方便大家)
; b5 ^  z& U2 H* r; h关于DAPLink的思考,, A7 B0 S1 @  O& q
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
' J1 N4 F6 H, U( `+ b) M1 O1 u7 F/ d5 j9 }! g) w5 n  _# v5 q3 l
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
! C% E# C* }3 _: }5 x- y! P, p8 |2 O0 V: x. K+ e" ]
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
& w8 y( r4 A% k1 K5 H6 B5 Z1 Z% f2 p) ~" H
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
1 l# o7 G" |5 V! y. Z/ w# o& J
) q% P# H: G0 p! Y; s0 W5 F. S6 }3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
# O) s2 `' g: U% w9 G' c( k0 L% m% C$ m( w- ~/ W
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
$ S2 M, M; o8 _& M! Y5 N
, n, d3 R/ k: }+ M2 d; \; ^9 L 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。( m  N1 E% l9 Q! l, J9 M
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

: C4 P( v) l3 y% x* w7 k" v4 x# @# O/ _

$ Z0 M# @+ Q/ [0 R2020-07-10 一个好消息,还有一个可能的坏消息:2 w. I5 G5 M9 j7 J0 x
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。( G/ f' R% m! Y8 @1 J+ ~
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
3 m$ x9 O2 J; P, B. {坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。9 K( k; `7 P4 h4 ]6 G
4 Y# n4 h. q+ b/ _

& X; F$ ]1 w  o( e& ^. Q( O/ O下面这个附件是最新的,与github一样。0 h% @8 u% W9 b+ t# x" U* V

CMSIS-DAP_for_STLINK-V3MINI-master20201011.zip

下载

15.33 MB, 下载次数: 492

评分

参与人数 1 ST金币 +20 收起 理由
role_2099 + 20 很给力!

查看全部评分

收藏 25 评论92 发布时间:2019-9-1 14:04

举报

92个回答
radio2radio 回答时间:2019-10-10 00:07:31
关于DAPLink的思考,1 ~0 r. N* }' K/ y+ [7 l" p# h* x' s
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。8 _6 z% z8 f( K$ V

9 q  S9 C5 N" d2 M% D; sDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。. m, S3 D1 f. \6 l3 n

- \, f: n/ o4 s* h1 E1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。/ J2 J" w! O3 h5 s' v) |* N3 @1 k( {. K
0 L; l8 ~$ a- b& W; m+ U1 E: N! v  K
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
2 B& f5 U% U5 D: V
, J( i5 v, q! b$ E3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。& F, e2 |: R/ G! u. X' Z3 u; h. M

# W, c  t" I% D& g4 i0 M4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
9 q3 S0 e  P3 V( y8 n7 M
7 Y0 c1 E6 n' b1 ]+ X" @: u/ j) s! {  p4 A+ _9 I/ p
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。3 ^4 d) U2 t. t9 y# h3 Z
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
! g3 J3 `9 g; q5 [. d+ l& d: c# N
1 o- p+ }* C! n# @6 L: [: p1 G' B
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:* }( s; {) k7 G9 u
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。. [; [& ^9 z: m7 f& n8 D( @
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
' Z0 p. F! S2 |4 h/ n5 ?% X-) e% G% x- B; n, v" ^; w) m

  W0 o' P, d& i- e4 j坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见一楼所说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。
radio2radio 回答时间:2020-10-11 00:22:07
a691662 发表于 2020-10-8 15:30
/ Q2 Y" @4 \* h& |' F5 rcmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。
$ w- N8 n' ?9 m5 N8 C, P! x) X* J. H4 Y9 n4 Z- c+ H' Q
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
2 i+ Y& E: n* ^7 `daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。" g0 T- t0 t; q$ }3 p* g
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:7 S5 _: h9 ^7 r- V% d0 p
1. MSC拖拽下载目标板程序。. d: `4 Y; D1 `0 V! y
2. MSC固件或Bootloader更新。
6 u! ^: V1 o0 z6 D, _. @3. 有的可以实现WebUSB下载。
& t' g+ _5 `. N: {/ d4. 有的可以实现WinUSB高速通信。% l& `  V( |; {+ N2 b# g
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
3 u" v( ~/ k! K3 U- P
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50

5 Q! N4 P. {# J1 j- v这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。5 B4 H) g$ b2 i6 k# d% m: r4 K
---------------------------
- {- R6 \, b8 _! }* W$ u淘宝搜了下,有两家卖的,价格在130左右。
% h) P& X* E1 e6 T0 X) |1 Zstm32f723价格在60-70元?也太贵了吧。
: }/ z- U0 u, z' g  g
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07: H$ ~2 ]+ \5 ^$ P% c
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...
6 s# `9 k& A4 T$ F. a3 v/ J
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:444 n8 g# f4 u9 W* I+ A: _  z
竟然是半孔板。
$ M0 J4 o* V5 g$ P! v5 [- {$ |8 }---------------------------
% O# T4 ]# k2 X% c, [' q, n淘宝搜了下,有两家卖的,价格在130左右。
1 n+ u( Q9 K7 v2 H1 Q, X
TB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04( V! m6 m6 t  F9 }3 H, F
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

! ~4 K( V: I9 ^& |4 r8 z有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26
# f* H6 H1 ?5 y# d5 C有的,发过
, }% T& e1 [% S  V. E0 I$ n+ ^3 j
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
5 b& w1 v; S/ f, }; k能支持其他家的芯片吗
$ q3 U$ D" N: e& n3 s
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.
2 e  Z/ n# d& E- W可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。! N8 L7 x3 L+ C3 v: I- X7 s' W
+ R0 U, e* ?, X: O$ \
generalcircuits 回答时间:2019-9-10 17:07:39
收藏一下,赞
kazuyuki 回答时间:2019-9-11 09:43:27
周围一圈邮票孔,是不是意味着还有其他用法?
radio2radio 回答时间:2019-9-11 14:02:07
kazuyuki 发表于 2019-9-11 09:43, d# o( e7 V* G1 X+ G( z( s
周围一圈邮票孔,是不是意味着还有其他用法?
  I- e4 L2 j9 c" t9 e' j; f
正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版