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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。1 N! Q9 c7 b3 K7 p3 B' @" R+ w
2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。5 Y  g+ g( C8 ~
2019-12-22 更新,SWD clock 达到18MHz(最大)。
- p9 w3 ?& M! ^; _
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
& j# g0 j- P5 ?( t$ a+ ?2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。: ]/ A9 |: I% y3 l* d
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。' C& g/ |- p& E2 X4 V! g5 N

) O9 V& y+ g9 d# I# @http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI
: y( p' V& A" e& Z9 L( r% a; N3 R0 ^. y$ `, F* R) z
YAB:6 V, ]% x5 |% y6 c
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
% G$ }' R  B7 n6 E! S0 g. M8 phttp://github.com/RadioOperator/Yet_Another_Bootloader
- S, z8 |% |- _3 C
; _! T; P8 {+ j3 }+ E9 p' [人生贵在折腾。
. L8 p. P& F1 a) C0 OST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。
0 r- m6 e9 M  D7 G) b+ K' N8 n7 ?7 m, x- N3 ^7 l
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。7 L5 q5 @+ x% A& |$ L; Q. |
缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。4 v4 O& G( c. G) c

1 x1 H# F: K8 O8 S官网:http://www.st.com/en/development-tools/stlink-v3mini.html
% A) ~7 F4 u+ n; l/ Y/ W3 E
% C$ c: P5 O& \& c# a: o) D0 {就是它:
5 D! F) ?8 I+ K' z% x p.jpg 7 f& _7 S* c6 W- D7 C. H# F

  X* G. X4 f* H* i改造后:留意我加了一条红色的连线。& K4 a* V- `! Y2 X3 q! d# ^6 E
IMG_20190831_222637.jpg   J( |; g5 O: d6 L; e1 H7 S) }) o
IMG_20190831_222702.jpg
. }! Z9 |$ @5 k( Y# g3 i; `) I9 P: K. [, w  _! W
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。$ p% V; s0 c4 b; }
* {" w+ m9 t/ \/ c& R
后续可能的发展:& E' A+ F" V2 p! ^# H1 V
1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。; A; H+ \" ?( ]# x
5 |0 U& Q' c; X( @6 s1 y( U
2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
3 O5 N/ Z6 V" _. B
% q& P4 u, `" n+ F% D2 e! p3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
! |9 l3 G# N& Y3 U6 I9 G$ ~8 t- a- X' \1 A" E
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。
) x; p, K8 F. d2 G0 ^  i( C$ c1 C) ~  t7 s& y. S7 v; C
2919-09-22更新,CMSIS-DAP源码,见附件。' A0 C% t9 B% p0 I/ u
重要的一张图,花了我很多时间才搞出来的:
. |& X) W# y# e STLINK-V3MINI_GPIOs_v4.JPG
& ~. F/ T9 ~4 f" B& M1 f# a2 D3 H0 g9 _9 @
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。1 s; o4 e6 h1 ~# y( Z! B6 X0 P

- V# L- t4 I) r9 K: O. j) {另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
9 _$ A- f2 _/ ]- n6 E! f
& s8 U+ t7 {8 A. fWinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
) l0 w& S; E" C WinUSB Device.jpg
- _, u1 G) G" e0 j' L# k
6 C3 g; Y" Y. @+ U
0 V: u3 v/ ^( J& ]还有许多方面可以玩的,比如:- O, c  _* E% }" R# w7 C8 R+ N$ t
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
+ t: l! M& @! x, M0 ~ - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
6 h9 H! e+ Q& f4 g( J2 }& m/ D6 e - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
) N( o' F; O' s1 S5 u - 还有......我们有512KB的Flash,能做很多很多事情。
$ C' m5 |9 I% Y0 f! Y& G. L1 x( ]( p
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
1 i) s/ J$ B6 C4 l如果真的自己做板,千万别照抄,可以改进的地方很多。
8 t6 O" X- w4 C
$ m/ ~2 N( i& S8 D- ` CMSIS-DAP.jpg ; O# F/ j# U& A3 R7 r  i

  T* y# C: n* W) _6 Q: p5 ?9 H
! P+ H- Y  l! t  m重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)
, [! S! G5 z8 E, @  r+ w( r+ `4 R# ]; t- R; i
  a2 K- U+ B! Q. z5 t6 x' ~6 G
(以下内容与35楼相同,方便大家)
3 D4 x+ T# o' x0 B关于DAPLink的思考,6 R  k$ `% S! F! U6 j2 A9 {
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。( d$ `5 d3 y8 Z9 \
' F$ S0 O9 {, D+ P$ W
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
( g0 U+ x$ r# _) n" A
' _4 O2 l5 P: E# |" O6 x% Y1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。. p7 \1 [: F6 a2 e- g6 `
0 m; s& q; a9 y( F0 x
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
+ v7 Z+ c3 B% S7 ^- u8 v1 c) {$ ^
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
4 e; H* C; a( M0 h( P: R
6 x3 B: |) C- r" Q+ |4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。0 d) z8 S) j9 k- ^6 |

0 D& R$ R2 ]" ~( f0 ]- n6 N8 @ 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
/ C2 b/ I1 P6 o5 [% n# u  H 顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

9 G6 \6 y6 J& V* z
* a' [- Q  i4 c8 k+ j: F4 c

) q8 q. J/ }& B4 ^; f. A  l2020-07-10 一个好消息,还有一个可能的坏消息:
; F1 I, i  U" U$ P2 S2 J7 b好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。; S' L( \; _, a  U! Y
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
: {. b- `4 o" h" n. Q* X坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。
* p1 w% P0 A# G! U( s/ b8 G' G  ^% G, t0 u' r
4 z* B* P& q* N, Z3 k/ |- n
下面这个附件是最新的,与github一样。, g; Z- [$ h& |/ Y9 G

CMSIS-DAP_for_STLINK-V3MINI-master20201011.zip

下载

15.33 MB, 下载次数: 453

评分

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

查看全部评分

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

举报

91个回答
radio2radio 回答时间:2019-10-10 00:07:31
关于DAPLink的思考,
# D& s* Z6 g" f- L! p2 Y# p8 a3 y( x由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。7 A$ K0 d9 j- r
' p, l/ r+ h/ c
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。3 j* M( U5 X% h4 v0 G0 `
# Z. k+ W6 N; c# f
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。7 F2 E- Z3 Z# [3 E6 c

. m9 p) S# ^. e. i) x' @, h+ {2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。& H7 n6 ~: h: w* R0 r

4 H1 E, G( _% _, j1 M: x3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。7 U% z! R- X% a" c
0 L+ ^/ H1 m1 h* [
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
8 y( t8 s9 ^8 s1 g
9 I: l) }1 m/ S4 j" Z4 E+ ~$ N
5 S; K8 `; k) T5 Y; C所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
$ j/ {% h& g; }- s2 ]7 S) d顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
& Z* `; g; G* w( n: k9 T% ^4 [! A6 ?- a( C" z4 E
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:$ d3 h7 `, t+ b  n
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
5 x& R' A/ V* q2 P& e建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
2 R6 Q4 F/ W' F3 k9 O1 p& K  F4 C/ ]-
4 s5 D" Y! G# R$ V
; L6 g! A1 B2 P1 E) m. b0 z7 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口。现在市场上的可能是最后一批。
radio2radio 回答时间:2020-10-11 00:22:07
a691662 发表于 2020-10-8 15:30
0 ?) A. ]3 w# `+ K- k2 rcmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。
3 e/ l, A" f6 i# w2 M
7 G- s% J8 y0 E- Z1 P9 a7 i$ {daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。 - D. J; ?  y3 Q( s" d
daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。
0 y  V5 ?# a! _- U6 ]( xdaplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:0 {, B3 b, v6 N+ G( {% h
1. MSC拖拽下载目标板程序。% j7 H2 @) B2 ]+ ~) y
2. MSC固件或Bootloader更新。
9 e0 [& w. ?; e; ]1 K3. 有的可以实现WebUSB下载。' B0 K& b5 x7 X
4. 有的可以实现WinUSB高速通信。& o$ ^: c# x; l- u% f- Z6 z
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
  ?2 H% Z" B) S9 n8 \3 g
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50

; N. t1 @, n. L* q' c" h9 [, E这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。$ z9 u9 p6 {2 F: K- c7 B4 J( q
---------------------------
$ k) j5 s! a: }" c, l淘宝搜了下,有两家卖的,价格在130左右。6 b" \9 {( }3 ]6 O" \) D
stm32f723价格在60-70元?也太贵了吧。
  S& y% b, m& r1 z3 G6 E& x
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:078 F! z0 N" C; \3 ^) o$ K+ R
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

# N+ _2 D  T9 k* j您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
1 c8 v9 H# ]" \2 y; I% V5 z" m竟然是半孔板。* R. y; f3 `; I  A9 H
---------------------------
1 n+ g) C0 `; t6 P$ S淘宝搜了下,有两家卖的,价格在130左右。

4 d$ n! }, J' WTB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04
2 f" f1 t6 @. H8 O% Z2 N. X您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

6 y2 y! k' _, ~/ E. `9 h7 z+ M$ Z有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26& s/ w6 p6 b. ~& R
有的,发过

. ^/ R9 X% ^: w. _' q找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
( w/ z# U- k* R1 O+ O1 c' Q/ y: l2 K能支持其他家的芯片吗

. k& k) F8 Z6 s) ~4 @5 T$ S改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.0 M% o; v/ a9 j! f1 y
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。
7 g6 L3 j% N! Z8 K2 y" i3 Y; W8 |/ ?: H8 `- d
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
! g$ i7 T# S; r: }+ t$ q周围一圈邮票孔,是不是意味着还有其他用法?
/ [$ T8 R) t/ ?) N  k# {
正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版