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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
& b) u' [6 a6 A1 j; {, R2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。% Y: ]. _) @1 W; Q
2019-12-22 更新,SWD clock 达到18MHz(最大)。7 @9 ^" Y! n3 G# ~
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
5 G$ [7 r, O$ V9 K2 O2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。9 v9 V" Q8 V) \. k! U8 H& M0 |2 X
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
- [+ h) Y; e& R! p* n( \
: L) D/ \2 W& Z8 P: ?' @- q
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI% W, d2 T3 x$ ?- U, S( F
! h% p" f, \! q
YAB:$ a/ A* Z5 v( I6 V! n
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html8 F3 B+ w* V! {2 ~- ]; P1 G
http://github.com/RadioOperator/Yet_Another_Bootloader
) c" N5 e" ?. p! y& @. d4 R; C( O& w2 U& Z
人生贵在折腾。
# r/ `* I+ D$ F# sST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。, t1 Z: {6 v. n6 `

# T" F. e7 a, q4 S$ \& f优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
# u( w/ f8 u4 V; [* N- P缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。
+ `1 C: `, f* l1 O
9 g% F- C6 M* j% p; d官网:http://www.st.com/en/development-tools/stlink-v3mini.html3 {& b! h" U( |: L

0 {9 [! Y: u9 V- ^% F: |( k( n' X就是它:; r: B# Q+ @& T. o" a3 ]
p.jpg
# O/ T4 p* V: F0 l
2 K0 }/ J  K8 ]8 S7 e. T& q! Q& c改造后:留意我加了一条红色的连线。" ]# J( z& G& x& i+ S/ C3 b
IMG_20190831_222637.jpg ; @. f& N' J. M: H
IMG_20190831_222702.jpg
5 m0 \- s3 O8 P: I& l6 O! s: H0 j& I" z- d$ a  l7 T+ B
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。
  @3 K2 M  \3 K7 q5 _, O7 P' [7 h4 [- N- Y7 P$ Y
后续可能的发展:
  ~7 g2 Q8 U5 X3 \% j* }1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。
6 s& d5 c  U. C" @+ p$ Z. i* N$ D* f! X9 X  F
2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。9 |! f( Y4 P; G/ m, G. i/ z  {
6 v6 B* F/ z% ]4 m. m
3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
0 ^6 X- }, o! j; I9 r. L
% q8 c5 E3 P1 X: B4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。
  y( q+ F& M3 Q4 ]  B+ z
% f3 d; I1 m# W: A  x0 p2919-09-22更新,CMSIS-DAP源码,见附件。
* u5 q  g& F, D重要的一张图,花了我很多时间才搞出来的:+ x) t0 T/ D6 Z( R: S" ~7 D
STLINK-V3MINI_GPIOs_v4.JPG
( c& c  V: A( s" p# {# k
+ v* i3 F  {9 ~- W9 g  L; ^CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
8 \: e  ~6 r5 d* S1 f( [' V/ R* O2 s
1 o1 s, S5 `& X0 m! ^7 V另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
, b' ~, ~% d( U$ \5 p" _2 T5 E  d) \: s0 f( J, P6 y
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):- H* c0 B) ]# ?$ N7 u3 p
WinUSB Device.jpg 6 c, s3 Y2 V% L

0 G6 }) \" z$ c6 L' f* S7 F  r- \
还有许多方面可以玩的,比如:
: H% J( D1 E$ _, u' Q - DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
9 W, G( p& R/ h0 P4 V) _" l - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
3 S& T; }( ]9 j5 L4 V - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。0 {) o/ I! u) {- J7 K8 [0 f
- 还有......我们有512KB的Flash,能做很多很多事情。
1 G: B/ c! c9 H9 q. X# K! L& k$ G; ]* |$ t9 L
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。( o7 Q' ]0 @6 Z  [  M+ K6 Y
如果真的自己做板,千万别照抄,可以改进的地方很多。5 ^5 p) a& b/ _" |8 }- u4 c

7 `* X  n6 H  e- D  S: W, L$ v1 `5 J CMSIS-DAP.jpg
  M5 M6 ?# I7 V5 d7 W' n( l  x: e# l

# x4 @6 D- E; w重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)9 {1 [1 f6 H, P

( k: o  o& {* H+ B1 S3 z" o, M
, D' l3 R" b5 @6 E
(以下内容与35楼相同,方便大家)
7 _2 [/ G) M! T( ^3 o$ O关于DAPLink的思考,! }& T- E' b" b; \/ z
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
% z! m+ B3 o( l( ?, c* }; `% J: x( e' _7 \( z. k  C% }2 D$ ~
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。# _1 ~, j* H' {: w8 J. ^$ J

2 i6 i1 f+ h) }5 ~# V5 Y& J1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。' t- o  e( c" k; ]

6 }8 ]* w6 g8 o7 h, t# h; O2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。  c8 q- u% L3 t
$ {" T3 \2 L0 T0 U! y
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。5 x3 [( B8 r! f6 A* k% T
3 p6 n0 C3 s  ?" L4 |
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
# H$ Q# E0 m) @. C* M+ ]9 u) w3 S, o# _& c
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。6 d. q8 d+ B. b7 A
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
/ s1 O, r4 [" h! p

8 v: R6 n9 \6 y+ u1 A8 y# |9 I; y
5 D& `3 ~/ Z& @
2020-07-10 一个好消息,还有一个可能的坏消息:
9 p" O# Z/ R0 f- |; L) a  k' r. l好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。8 x7 d0 V0 b- s, A" }
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
' O& n. p$ r5 Q3 j# `坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。. O  Y  i' F( a9 _' X$ x, j- k6 z
0 c8 z7 _' K' j& x
6 s2 \  T: p! g. R4 R
下面这个附件是最新的,与github一样。7 s& o5 C" B6 P1 }6 p3 l. }

CMSIS-DAP_for_STLINK-V3MINI-master20201011.zip

下载

15.33 MB, 下载次数: 473

评分

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

查看全部评分

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

举报

92个回答
radio2radio 回答时间:2019-10-10 00:07:31
关于DAPLink的思考,% u" A0 `+ X) W" L4 D
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。* b$ U$ V* h) ^+ _+ K

4 l6 `; n+ Z3 P; p2 Q6 `DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。; P) g$ t: O. C, V3 b, y9 H
$ g9 f9 F! r( e( `1 h8 _1 t3 M
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。, V! j- _$ @. H3 E+ z+ Z  ?
% e4 C% k1 n* o1 I
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
: G- V) j7 ?0 }& i% r- F
; q$ u2 R, K& H) s, z3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
" X2 |! c% D: p3 Q- ]
0 W7 a+ U, A" B# L% E9 L4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。" e1 @5 r8 N2 H! A) ?9 _! E( z
2 `  D2 C+ P2 @2 R% I% x
: U4 w3 m% P  a" [: B* Y5 l
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
$ F. s$ E" [, k- v顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
; _3 r& @, f! J8 z9 [8 ]
, c0 \+ j% L& g% i& Z
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:. Q/ W+ y; P0 U+ z
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。. R% O, K1 Y( ?2 O; E/ c
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
' {- N& q1 c; ?( z0 B1 O5 G* l-
. w7 D( J8 p: r# j% X# Z  t7 A+ L' k/ f+ m
坏消息,最新版的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( I, r$ I8 y2 B$ R8 h4 K2 B
cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。4 e) |" y7 P! B) s0 }" f. Q2 a7 P
3 g+ \/ F6 [. @6 M
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
; A/ H0 t; t' J9 k# E5 w/ ?daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。0 m$ a  T4 y3 B# b6 `7 N
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:! }/ x" T. t8 W
1. MSC拖拽下载目标板程序。, p! n+ X% ?8 e8 f9 {% ~- C/ P) B4 w
2. MSC固件或Bootloader更新。, e  Z& f5 N+ B/ |+ Q
3. 有的可以实现WebUSB下载。4 M7 M. O, ^% ~4 Q, H: M$ I2 o
4. 有的可以实现WinUSB高速通信。
; r* O8 D( }. ^0 \+ Q" S如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。3 l5 ]7 O$ F/ D6 s) n
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
( a% s9 p0 q3 l& C0 V: E+ h
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。
1 L9 N% [  f; k, E---------------------------
* r3 E8 I9 O' r& |3 a+ L# E' e淘宝搜了下,有两家卖的,价格在130左右。2 s8 I, m/ Y9 v
stm32f723价格在60-70元?也太贵了吧。
4 q+ M  R* E- y9 i
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
$ ~  n" `/ a8 ?这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...
6 `* p( {: \3 |. Z2 i7 z4 s
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
0 r( C- J1 K, L  o/ n6 r竟然是半孔板。
8 a2 C- K  y/ r5 v& t1 w* g---------------------------9 e' z7 H/ ?* e& q1 j+ a) S0 u
淘宝搜了下,有两家卖的,价格在130左右。

4 k& P3 i% E: T! gTB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:042 `* P7 P; R' Z7 `( t1 _
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

/ U, P# }: k- F. S$ K+ j$ ^有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26
  o$ k6 j- c, _) _6 D有的,发过
! k, I( Q; R0 v0 I
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14+ }# B1 H0 F& O% Z( r
能支持其他家的芯片吗
% g+ D4 a% A5 q# G6 O/ e1 y
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能., a0 J( U0 {- Z
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。
8 W# g9 c7 J6 P1 M
! O( l  c2 `0 K3 l" ?8 H; y2 r
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( h# i3 c  S, \" f: V# k
周围一圈邮票孔,是不是意味着还有其他用法?
+ I* T0 u$ F& S4 {# b  ~% t3 h
正是!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 手机版