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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。# J# e4 w; s2 B, r3 \/ `
2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。# K+ }0 I% q  |% B4 Q" ^
2019-12-22 更新,SWD clock 达到18MHz(最大)。% w% ?. G  k( p& X  s" @9 E
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
& a) `( ]$ v+ P1 g. O8 S2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。
: s) z; ~0 I& @% a: \* B如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。$ M! a: {2 @7 v
. y( V* `: w6 S9 y
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI
/ d/ A& x# _4 @* k! {- Y! c( S/ S3 a+ B. p& J7 U0 D/ }
YAB:. k; c0 Z3 [* m4 P( _
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html3 M: c$ z, B$ ^6 Y
http://github.com/RadioOperator/Yet_Another_Bootloader
) ~! A$ f# }. r: p. f6 S0 [5 z" m5 s% ?  l. s2 V* f
人生贵在折腾。5 x! K" @6 f- N# a( ~
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。
# T5 |4 g  e* U8 @. E' C/ I6 [( j2 v- C
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。. c' t' ?8 {& G; a: T% {
缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。
8 L9 t( p3 o! j; o! b* L# b4 b. \: y( x
官网:http://www.st.com/en/development-tools/stlink-v3mini.html9 Q, B- j/ ~* p: x7 I( j

$ W1 Q% H! Y( F4 ]8 x) W就是它:" O7 [4 y: I1 J' P" n; {' s) K& g: G
p.jpg
! W; C  W6 x$ e* K& `4 M- a3 e6 \- N
改造后:留意我加了一条红色的连线。
8 F+ P: o1 t5 w IMG_20190831_222637.jpg
5 y. H  c1 s8 ` IMG_20190831_222702.jpg
$ x2 h" Y6 j/ C* m& t! r& B- J$ u. W& e9 {: z
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。% H7 ]0 Y! v! _6 S& _

$ p3 {3 Y, u  E- V0 C, q; S9 a后续可能的发展:
2 n# q: c1 }5 A8 s* r1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。
/ f6 R1 N! }* F. u( E  R5 d2 N, P' t5 u; _* o( N: y5 N% c; ~
2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
: {: ?/ ?  U/ D% K$ `6 }5 s
" C5 A' V$ V9 j) g3 Y7 a- |3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
6 D; \, V* b/ P0 Q3 a4 [
0 H( p' }+ d1 C( ?4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。% Q3 D" ?: ^  L& M# h

# d" {) ?+ q" V+ ]2 m0 U/ f+ n2919-09-22更新,CMSIS-DAP源码,见附件。8 @7 [0 P3 t# J) c' A3 j* c
重要的一张图,花了我很多时间才搞出来的:
1 Y. T. a! _/ ] STLINK-V3MINI_GPIOs_v4.JPG * b: e& Q& o9 K6 w6 v
  x& A7 Y+ W7 A  i/ d5 m
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
) ^- z( f  \1 z8 B6 x% k: k! j' B% n$ h ! m1 I3 Y* V% g8 ?: r, [: [
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。6 ]# h4 z; b* y( B3 P/ {6 W2 u( ?% K
, Q: _; w6 l% X4 M
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
% b, j  v+ {2 D" N: t WinUSB Device.jpg
) @2 M2 V* p4 g" ]0 K/ u8 ?
; }5 t# j! d% M6 p7 h$ s& a  h( s5 ^5 s. X  |1 r
还有许多方面可以玩的,比如:
. j* P: t, c$ ?( d# g$ j. T& M - DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
0 `" L4 J( J" z! w: n5 r; y - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
  a% ]& ?6 f6 c" T - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。+ J7 V( w! G* u4 |) N% u- M; t/ v" i
- 还有......我们有512KB的Flash,能做很多很多事情。
5 @# j" |' |" t7 m
! f0 i# ~; p4 n& r2 @# H2 _硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。5 n2 D: \$ w; r+ U9 `' t! ~
如果真的自己做板,千万别照抄,可以改进的地方很多。
4 s& x0 d' |- i% ?. N: M( |4 L. D0 P/ S4 z9 S
CMSIS-DAP.jpg . g% j3 G3 j/ s2 T

  |& f  H3 ^6 ^. h1 [& ]. z8 U
2 a) N" ^$ v/ I6 v$ u8 C重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)
3 R! q6 j* N$ M+ `$ K7 p% Y; `
* s) q6 r. Y( ~
, v3 C* y: q: w. ]
(以下内容与35楼相同,方便大家)
7 O# U- r# |: Q关于DAPLink的思考,
5 G/ b+ ^3 N$ U5 T# V4 l 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。7 M) v) r& V. R. b# f5 q# \
7 t6 G5 t, P6 q7 f0 f" m( ], b0 n5 q
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。  i9 |$ o3 K  ?1 B
- o4 f- Y2 D# h5 z8 f$ ]
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。6 G" j1 a! I4 E$ U  f9 T2 U: _& H+ U

0 M4 X4 P& B( c% f7 v4 A/ ]2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
( m6 T7 G8 f( z/ X9 n5 z7 K: G
! x! v8 M( D- u3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。, s+ S" u% ], m7 p
9 ?4 T3 p* y( X  I
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
1 ]9 q' x" g2 E* q2 k9 X
1 W; n' D" C$ _ 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
  O8 D: z4 z5 m$ \ 顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

3 a  j8 A. f. \& m! b0 x* w9 [7 x+ ], F0 j# t9 T
+ S/ l9 ]" o# ?; c/ j* _
2020-07-10 一个好消息,还有一个可能的坏消息:# b# i9 v& H% v9 G' a
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
9 f0 J  o6 K2 q: e+ r7 G* W建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
  d' p# o4 F, V坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。% D  K* D4 }$ q) Y. t8 Z( x

; r4 g2 _1 h. }! ^( @. D9 Y

1 P8 m! p& X  }; e% [6 F. J# u下面这个附件是最新的,与github一样。
' ?& x. Y* g/ |9 K2 `

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的思考,0 d, o, }0 T! G6 p
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。* i3 \6 b7 `0 J( m$ a8 X( m/ A
# H+ {* [9 S! ?* @# G
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。7 d7 X) D. ^, n
5 A, c( m5 J' w* H. x8 v
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
! {2 w9 H3 d4 p7 _8 Q0 U2 h% B$ L8 R3 ?" ~, I7 b1 i# C& c4 M
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。0 |5 M4 u7 {% u: n: v8 Y  z5 t
( j8 P  T) k3 i+ K
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
; x3 |/ w4 @4 @2 _+ L% L& z- w  x. g! Y" W0 y& t
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。5 f+ v5 H( N. A' D

7 u( f9 R. p4 |  a: E7 r' M  C- g  ~" x
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
: c# B' z: c4 _2 |& ?8 l顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
  S+ k9 x$ k3 }8 n- y$ Y/ N# M3 r7 H
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:; Z! r8 `& v4 k/ @& {
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
3 E, q0 n% u# c$ e% v6 G建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。: h4 @( j5 X, P) y, C& ~
-/ @/ @; w, V  n) r" H

5 r' v( N$ P; g! |" e9 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口。现在市场上的可能是最后一批。
radio2radio 回答时间:2020-10-11 00:22:07
a691662 发表于 2020-10-8 15:30  o" s8 Z- e7 [. Y
cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。3 P8 \: t% ~$ z2 b* b1 x; x

& z9 D" W9 M' n& i( a1 Fdaplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
  ^9 {* e" Z$ Y8 |3 Y8 ~! kdaplink主要是给没有自己的xxLINK的IC厂家做开发板用的。
4 ~7 p: e, j7 e' e0 [daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:
% `! j/ Y. f8 m8 {# v9 j& ]+ Z* W& _: i7 d1. MSC拖拽下载目标板程序。3 c7 d5 N) H8 D% D  v
2. MSC固件或Bootloader更新。
# }2 C3 N. L/ n" Y$ T3. 有的可以实现WebUSB下载。/ d. v' S. p+ t) s4 ^
4. 有的可以实现WinUSB高速通信。7 Z; c) ?6 _1 L3 t
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。8 S% H1 \+ K0 B8 V
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
5 l2 R, g% h8 E; O% W
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。, I' k( c; f, [: n/ G
---------------------------/ ?) g1 i, c9 n; a% L  I
淘宝搜了下,有两家卖的,价格在130左右。, _' ?% h% M) F8 M/ Y- L1 a+ b! v* q" H
stm32f723价格在60-70元?也太贵了吧。( N$ y' c+ |2 k. N
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
! `4 D+ C* I0 t8 t这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...
, _4 L, r: x6 w- J* n
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
) f% {4 W( x& w竟然是半孔板。* W" l& D$ a; [' j
---------------------------1 j. A7 v9 u1 w- |* s$ e
淘宝搜了下,有两家卖的,价格在130左右。

9 [" j" S2 E& w$ T6 k& U: QTB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04
: w# g7 ^3 l( U6 ]* T您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...
& {9 O* x% [3 F- Z3 e
有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26
0 L2 v+ T3 Q/ b  G3 G; J! J* h* w有的,发过
. H% ^/ L2 h1 w, z
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
0 ^4 O& p" ?( L, d# ~  Z5 Y能支持其他家的芯片吗
/ n; w$ C; |  A3 A! U
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.
6 ~# {. x8 g: W  `7 |' |可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。% Y; c% C  x' A: [) E& s' b
3 x* C; H  p- G  C& E0 M  U8 a; ]
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
- L! T( l/ K$ f周围一圈邮票孔,是不是意味着还有其他用法?

' a! O1 O  m0 u% R正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版