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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。- Z* t4 f% S7 ]) i
2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
! U# Z) i/ @) \- }4 k2019-12-22 更新,SWD clock 达到18MHz(最大)。, \6 Z: X7 M- K# ~! x
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。' y! |0 H! s1 d  ]
2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。: a( t' D: ]. {) L/ r  N% w
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
) e$ |( J+ F9 w2 U2 r. u  P5 ^
, M% O+ _6 a$ O! z0 U. t& A
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI
* C/ d  m! F  u$ ^  u# u" [1 ?+ j. B% Z1 p/ c9 f. ?% |" r* g
YAB:% }) M: b& C' k: |' g
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
9 H# K4 G6 }% y: j0 Chttp://github.com/RadioOperator/Yet_Another_Bootloader5 o( F) A3 z4 v+ R- K4 _4 @; w/ D, m

& Z/ z0 j  f) o# F# O人生贵在折腾。
  l2 C& b2 O3 I% \9 G. k" [ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。# B; V3 S! q% ?1 r& f( y$ {; p
1 a0 b* D3 _- |$ Q9 Y* t
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
4 S5 ]" h4 L; K1 T# l1 }缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。
0 ]% F, k* X3 p6 Q
# S8 c( n' [$ V/ n官网:http://www.st.com/en/development-tools/stlink-v3mini.html
! `7 L! \/ U! Y- p; b& G+ N5 h: p3 }% \$ K8 N: Q4 u8 F
就是它:+ k! C5 j! M; h$ B0 Z
p.jpg
2 o7 t# n" ?+ P, ?* A  S9 J  _2 M$ K
改造后:留意我加了一条红色的连线。
. J; L" f: G" B IMG_20190831_222637.jpg % k2 p- g' v0 I+ l: k4 W- W
IMG_20190831_222702.jpg ( x( U4 y5 d# B2 O& k
( @* A! l. a- _$ B+ r  Y. s
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。% ]3 `$ }7 F1 H( W3 j0 d# x" t

: g7 ?9 j. V( p4 L+ C后续可能的发展:
4 v5 @. u2 ^3 J* m, v  K! e; c& d1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。
% b: y! s1 k6 j) [" i- C
7 u& P8 |  C7 r- x; Z# ]2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
" i% r8 ^' `2 [1 h8 M5 k& g/ g  D. u2 s8 q. T
3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
0 O; @' g7 ~+ P  t5 p' v5 |3 _& e( o1 P" w$ H: ~
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。8 j: F8 @: u" \" b  ^
$ I( a, T' [' U3 K* c% y& l  N
2919-09-22更新,CMSIS-DAP源码,见附件。  e6 k/ N! Z, v
重要的一张图,花了我很多时间才搞出来的:' g( |  w# \( S# T2 T
STLINK-V3MINI_GPIOs_v4.JPG
3 }' d* y0 W, \- Y: v4 N- y1 F- `6 M& ^( R4 p& H4 M- C, p
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
7 P; T  E: a% ^) q " b1 s7 ~# y7 @4 ^* P% l
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
: Q  ^9 @, m& V0 a# y& A3 {6 h! f6 h( s% r$ i6 u2 y7 c8 A. p
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
5 Y0 e8 ?+ Q" H9 K" l2 v1 W' ?, C3 I WinUSB Device.jpg % y) q2 E% W9 {
& ^3 J/ {: t6 ~, |2 {

2 s! b# g, r- @2 Q还有许多方面可以玩的,比如:; h6 V/ f( k! m5 {/ u
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
6 _$ p$ J2 I4 F% y4 S' q - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。8 h: d# L' R6 Q$ B0 `' Q
- 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
0 z$ G; Z' y3 |+ Y* e* W3 y* f - 还有......我们有512KB的Flash,能做很多很多事情。6 J8 Z8 b: N! v' s; \
' L5 B; k- c" z, `
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。$ X* V) ~- p, N5 f% L
如果真的自己做板,千万别照抄,可以改进的地方很多。6 u3 k  e2 x. q8 U5 g$ U
* {3 h  F- Z1 I: x5 f2 A
CMSIS-DAP.jpg
7 B1 }( E' Q+ P
7 B6 b( U9 G, U/ x6 ^1 _/ G& d0 H- b3 ]
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)+ H: V. D8 s6 t/ Z+ _6 q

; L& C* Z7 q% [

8 H9 a6 M4 S  I1 w(以下内容与35楼相同,方便大家)
7 E3 e; ^6 o+ O关于DAPLink的思考,- F9 D! v! h3 c5 p* l& z9 y
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
% ^& f( F' X. x0 Q+ v
3 k+ \& s  F8 D/ j: J+ O; qDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。) a5 u& n! O2 R5 n) E
3 ^, D2 d7 v/ O* i, r( r3 }* a; _
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。( l5 O; U  q) N
& s1 c" @3 B; ]
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
0 l* g" c3 Z& I# z  [. p0 d7 ~4 }/ v
! d. y6 {5 ^3 A+ H% B& @( k3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
$ @: c- }! T! D$ S
8 Q1 k% l- A- t; G" g! c5 ]) l4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。% S% d& V% Z9 D" z6 b

2 b5 P: U" Q3 Q3 ^3 B" B7 m5 } 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。; a7 D9 z0 u1 T$ p
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

' ^5 e9 m' K' ]- H* A$ U/ @5 q$ H* d  w* V3 b

3 ?  @) h1 e( C" M2020-07-10 一个好消息,还有一个可能的坏消息:0 d- n' u5 P( e0 G1 t# I
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
. O# s2 ~; ^# d建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
. ~% r0 N4 L) C7 L6 g坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。- f6 ~; u2 E: N1 r" [4 _+ P
  z. P1 \0 w' j- l7 v

3 m6 B, e' @) p1 _下面这个附件是最新的,与github一样。
# P  |1 p; @9 ]7 E

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的思考,
& m4 p. C4 q" k3 C  b2 L由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
- Q1 g7 x  ~! d# z8 b0 S5 b) Z  Y* K. w% A* W! T# Q
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。( a+ W& f: x( R% P9 l5 y
  r6 a7 e7 J2 ]' M( O' N, A
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
1 _" q* Y$ ?) ]- K( z1 R, {; N% h7 \( D0 P) a& w4 w
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。/ p. }0 _4 Y. u
) ]$ @8 v0 ]2 T. z1 E
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
  E5 I* U" o. M( {% l8 x# Z5 z3 i9 t5 n
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
+ b3 {. ^: ?0 o: _1 B4 j
/ u5 r7 c' R% N* D" t* Y4 I" s/ K/ {5 r% |; ^
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。  q6 K+ v* b; S, u) a8 `
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。. U: |: Y  G0 S/ M; M$ o

5 \$ r! y' a( `, Z7 H5 b
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:3 A: ^4 ~% O, `( \1 D: J! z; s
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。! ~% {2 g# s( F- G! Z6 p
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
  w& h  l5 p4 B: n# J9 B, _-
* p. @; X6 R- f, [) o( l  g2 J; C! o! h; E- I
坏消息,最新版的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
/ V1 b: L9 p3 L6 c* kcmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。2 U2 p" ~$ t. Z
1 i# o1 K  B$ m  u
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。 % x! f4 D9 o0 O
daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。
9 P! P" M  h1 k3 |8 H* l( ~daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:
' b$ D' M; a! m' V2 u: U- L5 ]1. MSC拖拽下载目标板程序。
) a8 n; P6 _# b6 m0 w! w0 B6 n2. MSC固件或Bootloader更新。! j$ e% l- _5 E" k
3. 有的可以实现WebUSB下载。( q- v( H& S8 y/ l' @% ~
4. 有的可以实现WinUSB高速通信。8 f4 i2 C7 f2 J/ ]3 h
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。( T4 R4 a$ u& r* y) E
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
- w, b% _% _  z( l. _: h
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。) d+ u( A3 ]" s
---------------------------
9 c7 h! M. G. T: _, r: g淘宝搜了下,有两家卖的,价格在130左右。
8 M$ a9 n/ C  H% H, ^7 Hstm32f723价格在60-70元?也太贵了吧。
2 x$ d5 _! A# R0 W
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07* w$ K+ I" L. P! ?# i
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...
. H3 n7 h6 S7 t& O
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:440 T" ?* ]9 h7 b/ t4 H' F% V
竟然是半孔板。
6 L8 a5 F: W& _- o, t---------------------------
; U# k2 `1 T( o" F淘宝搜了下,有两家卖的,价格在130左右。

5 [, m6 V. e6 m; h) K# gTB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04
+ w3 ^! q' H+ T7 q5 i. y, s) n您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...
  c- d' u" Y+ w
有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:265 r8 R0 z1 Q% m* P
有的,发过

' g% x1 C' @, @( E5 K; k: g找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
: m$ b# m) q- @0 J" z$ J- i' ^能支持其他家的芯片吗

% {9 V' f1 O: Z3 ?9 e7 G: k4 H改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.( z9 a5 S. ]3 q5 N* i7 }
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。
+ W4 \: L* ?+ A+ J8 w# }/ m: q5 \5 i
2 _% t5 T, E  k2 H/ F6 O) v2 T8 k
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:432 Q) w, F, [2 H/ @# R. ?3 I9 a
周围一圈邮票孔,是不是意味着还有其他用法?
: D5 R: X% M5 V6 h
正是!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 手机版