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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
' n/ F/ j1 O! |+ ^# M7 X+ t2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
! l' {4 Y! a! _2 F: ?# w$ P2019-12-22 更新,SWD clock 达到18MHz(最大)。" k) T. m4 H: k) [
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
$ B* l: _& t: P5 y; b* s( ^8 O2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。
4 h: U6 b7 Z# E* k7 @( t$ N; x如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。, X/ {. s+ {5 O+ b0 b/ h: V

9 [! A$ _- [: [. k/ k$ vhttp://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI
" I: F. n$ J+ I/ t) \* S$ `% a$ k+ T! `: f0 u
YAB:2 v' G  D+ N% b5 o) g- ^6 R
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html& q+ @1 u5 q5 ~# p
http://github.com/RadioOperator/Yet_Another_Bootloader, y6 q' R6 Q$ ?# f) {

$ x, i) D& y- T# A人生贵在折腾。% g6 C+ J9 o/ J1 V+ R! [+ G
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。
8 D4 Q- R/ S' f  z, f6 a1 T
# h; w: `8 T2 `1 a8 K. K优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
% H% y, [6 U. O" w4 [* ]" ~0 N缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。- d, U3 h  P( m9 |' F  A$ X) K

' `. {: {' U' Y) _官网:http://www.st.com/en/development-tools/stlink-v3mini.html
, i2 Z( x& u* T6 S/ p* C' w" p; x: b! `7 x; C1 W
就是它:
. H/ h) m. [  B9 g1 w p.jpg
1 O8 A: E& r$ Q* r% _" b% ^" a  Z5 u  J+ H
改造后:留意我加了一条红色的连线。
* N) j* @* v2 j- ` IMG_20190831_222637.jpg
! F; R4 H: q" x: q7 X' g. G IMG_20190831_222702.jpg ) |" h+ }- \( ?. e9 ?
7 ^7 M; r& H: P  a, H8 a6 M
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。
3 y( H0 B: ]! e# x0 L. A% H1 c1 B. t% K
后续可能的发展:% P. q' K0 T+ N" c6 o: p
1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。
& ^0 e6 r4 v/ n: d( S9 P* ^' G) B4 Y3 d8 ~8 X2 J% j) d
2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
0 v7 t* ]) i2 i2 N) ?0 P7 H
. I4 P" P  V, F! P, R0 m' \7 w3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
5 b4 J9 d3 h* }4 h* u
* a# [$ v; m4 J5 C) M% `4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。3 `5 }& ]2 z1 C. k. Y  }9 f( f
2 B3 p9 f. }* s6 S  h4 Y
2919-09-22更新,CMSIS-DAP源码,见附件。" n: P1 k( K3 k
重要的一张图,花了我很多时间才搞出来的:
! r% {5 c4 l  ~; e# { STLINK-V3MINI_GPIOs_v4.JPG ! \, B3 S6 c5 `

# e: X4 }5 M# O) _& TCMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
& U& ~% Y7 t! @+ Z& a 4 S. _- e: l) b& K( b7 P1 x
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
1 B4 ]( {; }! t0 Z" u/ Q4 G
. h  M, _6 P+ P+ s4 G0 b, ~- ]WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):% h1 F. `: v7 R! C4 _/ ~6 J3 y
WinUSB Device.jpg
" z! d1 ~1 N$ j
* P) c( o" C5 r. Z8 L- m# z+ t8 f# Z# I# E- G) h) C2 `" H
还有许多方面可以玩的,比如:
( s3 o/ e8 M8 p9 w4 k: G - DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
6 Z6 B2 [% ~/ t/ h' M% c! B - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
$ V3 Y% m: _' ]% ^; f8 S. @ - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
; Z7 l& [: A  E' G7 q0 l5 t$ Q, z - 还有......我们有512KB的Flash,能做很多很多事情。: l+ Y3 t" I, F" m- ]# R

9 t! _' q8 ?+ f. ~3 ^8 _% m硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。9 x/ H# z& E+ ^3 H" N( t1 [6 ^
如果真的自己做板,千万别照抄,可以改进的地方很多。
/ ~8 y, q2 y: F8 |0 S; G$ T% ]
/ c# G' k1 c; J0 p  q# n- p CMSIS-DAP.jpg
4 \  O% y- k9 X- J/ {% j8 k3 V( s: U9 ~6 L4 r% {2 @+ H7 v/ [, U) o
! a8 v$ Q# U. Y
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)
6 X: n2 q5 F4 w  a3 U8 K% E
1 e: f: C9 C1 S3 M9 o( o. j

7 g( `- m0 D* O" t( e(以下内容与35楼相同,方便大家)" g5 g% Z! C! F, T
关于DAPLink的思考,
  n9 w- K; A3 U7 s* q# q 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。2 T/ Y8 ^) f  c6 a

" Q8 \  d0 M; u' N' F( BDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。2 C1 i: g3 A8 Z5 z
2 D2 U3 n& V) e& z% Q+ `6 ]. a& ^; b
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。+ u( N. {5 X5 Q
3 y1 b; o: i7 m
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。+ ?, V7 x9 ?' O* k1 U& R0 l
6 f" ~- `; y7 K1 c/ i
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
6 d5 _  p& V7 a" Z  I$ x
  W" r+ ?  L6 }: G: E* G* _. S4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。8 s: C! C3 X, R
7 y+ |6 m% P" ^, L9 A# B) m
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。' K& n" p* N0 `
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

1 K+ i0 ~& a5 E) @: `" \! K; h5 z$ v. D6 d! M8 \  ?9 X. \9 |
& j4 z# [, \. I
2020-07-10 一个好消息,还有一个可能的坏消息:
) }% x0 G" v5 ^1 m' y" O" W好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。/ g' C* w3 `, |& \) }% K* z2 T- a7 K
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
7 q2 l# P$ [. {! j9 [: ~: v6 L坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。' D8 p* I- @& T+ |- e

& N+ M: p# ^: u2 }5 \9 ]

; l  k, v/ M  a2 V& l( _下面这个附件是最新的,与github一样。( c% p% V0 p2 F) k2 M; \/ _) z  l3 D8 a

CMSIS-DAP_for_STLINK-V3MINI-master20201011.zip

下载

15.33 MB, 下载次数: 481

评分

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

查看全部评分

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

举报

92个回答
radio2radio 回答时间:2019-10-10 00:07:31
关于DAPLink的思考,
+ o1 d* `$ J+ t1 N) \- }* Q! n由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
2 k1 L# s$ X- }, Z4 v$ m9 ~5 r3 _* Z) Z; S$ H
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
/ @, d! b9 ~3 U+ F/ e+ s1 Z, Q  g$ u* `  p" x9 a
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。0 \6 ]1 w4 b0 j: h8 M: Z! m1 K' y

+ J( m& y' S! o9 _& g2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
  K( P, ?4 A4 C) h- g+ Z; f1 y+ a0 N0 Y( F
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
& l% c; P! j! o& `, V$ t6 T5 g$ e
$ m: Y) U( v* Y+ h: V3 P4 t& d& d4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
5 }5 H1 x' L; |& ~( d# N& r' Q" l. l# x: L3 p, B
( }' X3 X( ]  N7 x: e3 Z4 b; I
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。% Q3 C- j$ Y3 Z! N9 U
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。/ B* d1 }2 @9 `; e: H) h

* l0 U  ]7 x% x) h7 n& D2 w  H
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:: M/ R3 _$ l: S8 W& w
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
+ C$ J: w8 J2 i) o建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。1 o0 h8 b$ k2 G$ m0 ^; ]# `, V
-) L9 c! @. Y) b, N! _3 j

  g7 l$ G- q/ o* G) K坏消息,最新版的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) `, ^- u! f3 i, L
cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。$ f. m0 Z2 @( H4 J$ E7 k8 I( C1 z1 h
- ]) S1 L- ^- Z3 t  o/ B
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
) \0 M: O% K& A! g- R% qdaplink主要是给没有自己的xxLINK的IC厂家做开发板用的。2 G/ J: `- m6 ?! g$ ]
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:1 }8 O7 O- D( C: Z2 h
1. MSC拖拽下载目标板程序。
" C/ j( ?. ~+ l  r) i) Z2. MSC固件或Bootloader更新。
8 t! x& B2 z! O3. 有的可以实现WebUSB下载。; ^" s! c: I- ^; Q) E+ ^
4. 有的可以实现WinUSB高速通信。0 W/ L4 \5 f4 o4 k
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。; r$ m5 k1 G" i" M; S: Q9 P
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50

9 k( K+ E, O3 M4 }4 T7 P3 F3 P这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。4 a1 `5 n5 I' i2 K( P
---------------------------
8 }& m' l) e# v# m9 p淘宝搜了下,有两家卖的,价格在130左右。
/ v3 p: c2 M8 Xstm32f723价格在60-70元?也太贵了吧。
/ ~' o# W% |2 y9 N  c
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
8 W0 x$ L/ C$ m% r8 I+ E% f) H8 I这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...
, p* r; D7 p. W# G- A; P$ }. k
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
/ g3 y4 _% x( C: g竟然是半孔板。$ e* V0 \- ^3 |) ^
---------------------------
& q* x6 @0 s3 p, O- I淘宝搜了下,有两家卖的,价格在130左右。

7 i- ], u6 O* r% x7 M9 UTB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:043 V3 \0 v1 ]6 B1 }. y4 L4 e
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

- g# {$ M3 d7 q2 G有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26; [9 [0 Q" B( V% H1 N2 j$ a
有的,发过
" B! p, W; D2 ~, q, `1 W% \
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14# b: i1 `6 X2 h' n
能支持其他家的芯片吗
( f" `/ U4 E; T$ x) y
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.' h3 j$ g) a+ R
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。
2 u% W: i" A3 l( Y: r, `: y6 o" x2 \* [# i* C
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
2 B) ]8 G+ r! N. m+ [7 w周围一圈邮票孔,是不是意味着还有其他用法?
- ?! a- H% X1 {$ 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 手机版