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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。8 x' R/ M6 \4 Q4 x: B, E" K! W6 `/ V
2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。0 K& o8 P9 _# K$ ~
2019-12-22 更新,SWD clock 达到18MHz(最大)。9 t$ K: k  }/ N; s9 D$ I
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
) E& U, K1 }5 _( O  V+ ~/ `2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。; D5 \7 ~6 J! L1 c  l: v' z6 [
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
% a4 D  s9 t* @5 y- [% T

) w5 j- Q5 C0 X  mhttp://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI0 s! C# Q5 \; F( |

' c# a6 Z7 v% w5 }: E, B. fYAB:
# ~: Z' |7 X+ V0 T  i( p2 Uhttps://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
0 T  F) O: j& N* |http://github.com/RadioOperator/Yet_Another_Bootloader% E" D: z7 x" L( c0 s  t( R8 W
. I6 L- p4 j% g! d6 @
人生贵在折腾。
- [2 R# B! p  I' V# g4 h8 Q9 kST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。
- Q1 M. z$ T6 z' U* o
7 {' Q- h; K/ ~$ t& B优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。2 U  j: q8 i/ z, U
缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。/ j+ Q0 `" i8 [
$ J* p1 }! O: ^3 H  [7 z/ I
官网:http://www.st.com/en/development-tools/stlink-v3mini.html' z+ q) `) h. n$ t- I; l
/ g1 b. A6 `6 G2 z( g* `0 S" c
就是它:
% E4 M$ z7 M1 F& j6 }: w5 q7 W4 I$ w8 E5 G p.jpg - @8 C% }" K) V: t; z& Y
" q5 E5 x' N4 O; i; j6 F
改造后:留意我加了一条红色的连线。
* K$ J+ p, J1 h; ^, g+ ] IMG_20190831_222637.jpg 1 Z) H+ p$ k0 ?
IMG_20190831_222702.jpg
" L- ?) x6 w- E
1 t4 l& I4 v- l9 t) w& A从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。3 e9 s- b3 c/ Q( C5 q

( x, z# b8 m( r4 O* K后续可能的发展:
3 z5 `" V) C: e2 H3 }# x+ R1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。* t& }5 e: k2 R7 ]) f
# M( I% x7 D- W
2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。# w' G) a1 [* _! t9 L5 }
' b0 q- C0 Z2 g+ _' L" W! @. w
3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
! h: l6 E: b6 w8 S
2 }4 U; E* c7 b4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。
4 @. \" E, I$ z4 K9 ~  H. P* a% N  {* S
2919-09-22更新,CMSIS-DAP源码,见附件。
: Q. Q2 m' O; N1 t4 W, b重要的一张图,花了我很多时间才搞出来的:8 V# f$ m! N* I+ l9 Q
STLINK-V3MINI_GPIOs_v4.JPG
. ?; g3 \1 G# P( _* K8 t% }0 H0 S$ V% x/ ~3 d& q' U
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
! ~2 m% x$ H/ ]0 A5 y
/ K! M- U8 v* [1 @# B! D& {& A' e另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。' M$ U3 Y' G3 y
& }- q( A7 _% U: a
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
$ [& k4 ^; I7 i. i4 z WinUSB Device.jpg 2 B' z! ~3 e4 y9 _
1 d6 x" A( v$ k! I: N
8 P+ [8 M4 d( G/ r* L
还有许多方面可以玩的,比如:+ i: W% p. l. r) |$ t4 s  m9 O
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。0 [) I1 ]1 H6 P3 j* V" {8 N: B
- Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。4 f7 r; W. U* f
- 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
0 F8 j3 f$ d. Q6 |  m4 } - 还有......我们有512KB的Flash,能做很多很多事情。. s$ }$ \+ ?& a" O

6 q3 s" m( V, ^9 T1 f硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
3 l, L) Q3 K* i* G% M如果真的自己做板,千万别照抄,可以改进的地方很多。
) w! Z7 B5 d, c4 o) a9 `- c, q4 R+ Y7 {5 X
CMSIS-DAP.jpg
% I3 U& Z, E# B7 D9 s) F5 Y6 P
; \3 ]6 r( a6 m5 ^3 D+ A8 F
5 R( Y$ Y6 f, \: j# m) u2 |重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)  n4 o+ y' L/ u

  @4 J& a- M* ?* ^

2 a! b0 G7 R% d4 t9 H) [$ e(以下内容与35楼相同,方便大家)- m: e/ S  v0 }* a1 ]- s* v9 ~
关于DAPLink的思考,
: y) A+ W0 ^3 @  _6 T! s 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。" J. b: \0 J1 n9 E- c' ]: [# F8 K+ x
/ P! M5 m8 X; C* d; y2 b( p9 \
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
- N  E" \7 h+ ?* F% q6 e
, n, H+ w7 [9 n2 }; a& A+ N: u! m$ n* w1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。. n" Z: V% r, n& E7 t' p" Y. A1 d

' S& N- Z# @# i0 Z9 k# r+ H2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
. R  {; c( e* A, Q* G
2 _7 o2 m( D7 e  @% L5 e3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
! |) O5 y8 m- u- @4 V- G$ V1 I2 @$ N. W* |2 D: K: v6 w1 ]7 N
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
; n7 z$ N; L: S/ \3 w4 a9 c% J; {% O" v, k) K
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。: M5 z5 m+ q2 h8 M) ~. w  [$ o: n
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
6 f1 T1 \) X5 m) d% U

0 `) @- e8 \; _. f# n: z
. u/ O( r7 w2 @: ^! e0 C/ b/ y
2020-07-10 一个好消息,还有一个可能的坏消息:
8 Z. ]! _+ x3 x; P5 N: ~- K. U好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。4 o+ O' P, E8 l: k/ S6 n
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
, K: S$ A5 j) `2 x- T坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。+ K+ M7 l% ^" `( \: m, A7 E

9 T" e+ ?- Z: Y- h
/ a( Y1 k# X. J+ E+ J6 l1 |
下面这个附件是最新的,与github一样。" O9 \2 _! Y5 B3 u( J

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的思考,
3 F; s+ T5 F9 A1 z$ x4 L由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
# H, ^, k, j6 f! ^/ ^1 |' J
# m( ]! K6 g* [+ [DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。0 M4 w$ U! B' ]9 Y& a
, E; w# `( V: d( u5 e, x
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。% c) ?$ B( V5 n! j3 Z
) `5 p( W6 \: l2 X' |9 z# n
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
# @' k: ^" z9 b2 D* ^9 N9 @& b' L6 b1 c  c, U' e" H
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
- ]6 B$ G% l) }# ^) O
' \. Y3 S2 h/ }2 S. G0 B4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
3 |* u& P7 N2 T* G6 N3 a7 l/ M3 \

# k2 P  j$ M( q- K. v( a% ]4 M所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
) ^- u9 D2 F2 S$ J顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
9 I, l/ t( y1 ?& W. f% o% }" E
: n# x; i( [! w+ w7 t; ~% i! j% T
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:
- g5 @) D8 [& N0 C好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。3 W1 o2 U5 ^  S: M% |& q' ]" B( w4 ^. }
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
8 V0 c/ o0 F4 }- b-% n! {7 n4 W; {: {/ \
. G. Z" ~5 a; g8 t6 P
坏消息,最新版的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
$ [' z, ]$ _! i7 Q- tcmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。
& Y5 z8 S/ P, Q+ p* l& D8 C/ ]7 E2 A$ F
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。 3 d& J2 ?/ ~) T+ y8 O( h6 U
daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。7 I2 g& P4 ]# W0 {
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:
6 @  ~+ q( \# g8 Z; |/ O. l1. MSC拖拽下载目标板程序。$ N5 F" v6 ?# b8 `) p0 B# N- U4 S
2. MSC固件或Bootloader更新。
0 q8 K$ c4 ?6 E* H  u3. 有的可以实现WebUSB下载。1 O, Q8 ~) v6 r! ^7 E- `& t
4. 有的可以实现WinUSB高速通信。: y/ C$ `; d( b9 }
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
0 ~/ h: N# H. u9 V. y
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
5 M/ z0 K9 t, p' }# q, }, F6 O
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。
6 s/ A, e: I7 S---------------------------
! c8 r6 r  S" `! C& I3 q" ~5 d淘宝搜了下,有两家卖的,价格在130左右。
( u; c+ q3 P5 ^: }5 pstm32f723价格在60-70元?也太贵了吧。) }7 V3 m1 m3 s$ P" l: u
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
4 ]. v  I* T- h) @- r这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...
4 f4 i2 O+ `) m
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44" R& v7 }- s; ?, ]/ a8 w
竟然是半孔板。
2 e* x( X5 W$ \, S9 k---------------------------
+ Y. g- U- w. R2 ?' d$ p/ p淘宝搜了下,有两家卖的,价格在130左右。
5 l- T) E: ]0 b  d4 G: O
TB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:049 b% S# D& ]! h7 d; S
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...
8 D) |5 l1 [* F& B
有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26! P( q3 o  h8 w0 l: h
有的,发过
* h; h$ B7 X2 T6 _  o) h# D/ {2 }: k+ R
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
9 X  V& A4 v7 b/ z" D' t; M: s: }& [能支持其他家的芯片吗

" y! D/ }! z' H2 `1 J改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.0 p+ P6 ]$ M) d
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。: g0 n( X4 B* P

; N" }; r1 x, m
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$ _( H8 V. S: g* u8 f0 Y
周围一圈邮票孔,是不是意味着还有其他用法?
- t4 M- i% H) C- a2 a2 v
正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版