请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
6 ]4 ]: \  Y, Z2 m: z# W2 y1 X2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
: C# ~( C% i4 H! q; c2019-12-22 更新,SWD clock 达到18MHz(最大)。
% X+ |. p8 Y3 A, D
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
) C2 p) q2 [1 |2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。
* I7 _# t) p6 p* ^. l) H如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
6 F( L4 ]3 ^% V! {' L# [
/ C( Q+ i% e6 _
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI7 |7 I4 }- f7 e/ G* l: u# B

9 w) d# d% J9 G  U. QYAB:
) p8 C# C' h; Z2 `4 lhttps://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
* u8 Y+ t) f  M+ ~http://github.com/RadioOperator/Yet_Another_Bootloader
* R" C3 V9 \7 q8 n3 G7 ?+ `* T5 z+ F( i
人生贵在折腾。, F$ \9 f9 k7 a) {# l4 d! k3 \
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。. s# I, ^8 r' A" P
" K! m3 }, ^: V5 s8 W. V
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
5 z' T- @! D3 Y# j缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。
$ Z8 \5 z3 o; m! `3 n9 i
0 V" p% }) W5 T$ U$ `5 E  T官网:http://www.st.com/en/development-tools/stlink-v3mini.html& y: Q( H1 [; J' U* E* g
# t* ]+ b! ]! S$ _5 p
就是它:$ V4 n9 @+ \* W  d
p.jpg
% x. [; x7 V/ i' m& R- T
+ S  T5 S8 ^& P. @" l改造后:留意我加了一条红色的连线。
( R5 s2 ~7 d1 y6 u% ` IMG_20190831_222637.jpg # l% E- f5 z- g- {
IMG_20190831_222702.jpg
; b2 d  {+ K) ]" w5 _# _
; P* P( T' G: k' p0 t6 q9 G7 {$ j从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。# U0 P' l( M+ m' ]0 T% d+ X$ _  c
6 K* }* U7 z. Z  s' H
后续可能的发展:
& P. J# c+ ?& R  p( l1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。
! ~/ }+ e4 \. T! \3 F1 a3 f) n
  v! N3 u4 E, `2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
# V% F. E( A5 v! u1 @
' |" c4 p8 ?' E& ~5 Z1 v9 ?" e3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
9 h# ~: f0 O+ @, b0 R+ Q5 y" a8 s4 I" f1 e/ l
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。$ I0 w; u6 Y- K8 P
7 B: v0 l3 B! p4 \
2919-09-22更新,CMSIS-DAP源码,见附件。, e! ]/ z# d- H1 n( z5 t' P
重要的一张图,花了我很多时间才搞出来的:  }& k* l9 ^; \" B' W2 ~3 y
STLINK-V3MINI_GPIOs_v4.JPG
: i: X7 Y% \7 Y
: H' Z3 ]: I8 u% d% c/ T8 |CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。. o5 A. t* z% V
. T# ?- a/ y* L# Y
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
7 l; l. v2 ?7 w. R6 p! E2 _4 u* K& x7 r1 v& T
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
* B8 m  L0 T+ z$ B. E) c2 W) M& u WinUSB Device.jpg + O5 n- b/ Q/ s9 S5 J# z/ L# l+ u) U
) _" Z. F- T6 w$ N' Z; `# E2 G
/ z) h4 _" o/ F+ m
还有许多方面可以玩的,比如:. S* W, ^0 E1 R) @+ ]" _( Y& {" N
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。2 r- Z+ w0 H* ]7 G! @/ E- [* k3 q
- Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。" _# V1 m  ^3 d8 a. x: m% ]8 r& x
- 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
# m: l9 Y$ u% \ - 还有......我们有512KB的Flash,能做很多很多事情。2 I1 e4 c% J- S6 C

% ?. N- u! z5 d" h8 \* i1 B% n, n硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
: {& `6 `, Y8 h如果真的自己做板,千万别照抄,可以改进的地方很多。
! X/ R& D$ e8 h0 j! ^: K5 u# |1 b6 D* M- {3 R& u
CMSIS-DAP.jpg
( I/ k7 ~1 g& X& O- Z3 G  A
- |4 {+ f! u4 v0 }; R6 D
0 @+ ?0 I$ O  p/ i' X+ w# Z重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)1 ~% p$ }  ~. b/ J

1 k& B% Z, A& y4 W
5 t# E# n( T" ?. ]8 |/ M1 n0 h
(以下内容与35楼相同,方便大家)5 v7 T7 C) c# n( Y+ k2 y" b, Q
关于DAPLink的思考,/ c) Q* U7 I  }  Z6 H
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。$ m- p' `, E* i; @9 [& n8 I% I! q

! U" j5 Q2 `4 U" m0 N' ADAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
$ `8 Y: r0 a6 a  l
* D  l  p9 V3 e4 X1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。- f0 n" L9 c7 d9 ^

8 s" \* }3 ^9 [# z2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。1 c, t+ _; O3 D2 f1 J; K0 I

4 ?# k: Z6 k# z5 V) |$ {$ n$ N3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
) h) f* z- P" u" [
! v6 C+ ]% G  P9 z+ b4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
1 q1 c' {+ l4 g% b8 ^4 G
& @% l! F# j  {( {; b5 r/ G 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。) ~; r# v1 R3 S& V# T5 b! n
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

/ m- {. v1 B; H9 W0 O' E; O" [2 e% d) n' D* p2 `
6 l; T0 ^, N# y1 D: z4 n" n9 `: S
2020-07-10 一个好消息,还有一个可能的坏消息:! O( \3 d+ `3 O1 G8 p3 P" k
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。/ R* l3 |$ \: A$ f% c$ O7 q! R
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
+ o# _& M1 H/ 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口。现在市场上的可能是最后一批。
1 m* s; q" L# y) {) Z( B3 I% L: k& Q! k5 R1 [, U- U
. z7 L- s# z2 [) M! E, X( X
下面这个附件是最新的,与github一样。. I& x! F$ U) x# g2 k: @

CMSIS-DAP_for_STLINK-V3MINI-master20201011.zip

下载

15.33 MB, 下载次数: 443

评分

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

查看全部评分

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

举报

91个回答
radio2radio 回答时间:2019-10-10 00:07:31
关于DAPLink的思考,
3 Y$ y! x" ?$ P由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。# V8 V8 `' L" i" H  d
- t7 j  i! R. c4 \0 r6 _* `# h
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。( ?5 Z- n- o, z( D
9 ^) V( e7 S3 m1 u# Y
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。: m. @' h& ^# o; n1 x* q

2 e9 `' f$ Q% v$ o3 W% d2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
$ A1 {0 P% K  O5 k1 I! m2 Y& N& V- }1 w# z: W, B# _! H, `
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。; V+ i* Y" E# E( C
; Q+ j+ j8 O5 e  n
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。, `' H9 F9 Y: u) F$ P
, i- @' A3 E% X3 t, b
0 h+ [9 |& W, L- ^! N; |, ]
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
! ]2 W/ @7 ?9 x& f. {顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
4 D! d& x% u% _+ l3 E5 `
+ p; A5 F& b8 w8 c
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:- T" T% T  B4 M0 }% m: f+ Y
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。8 M3 O  Y. e4 e7 P, e: C
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
, x' V1 o' ^6 y6 _+ P6 x# s-
5 F2 \( r! j7 U) g- p
% Y' ~0 c2 e! i. i7 h4 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口。现在市场上的可能是最后一批。
radio2radio 回答时间:2020-10-11 00:22:07
a691662 发表于 2020-10-8 15:30
' r1 \, K. X3 g* V/ b% ~cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。
$ Q& w  S0 d' o; q* X: u7 c9 p  f3 [
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。 / R5 S+ X6 a6 C+ i% U0 r9 k& G7 c" K
daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。
' a$ {: @, ^! G4 B( |daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:3 f, |! p  I: ]5 Q; `9 `
1. MSC拖拽下载目标板程序。
6 D" E8 X: ~: Z- W& o2. MSC固件或Bootloader更新。2 |; V1 @- Z' n' I6 Y
3. 有的可以实现WebUSB下载。
& s( E) L  A* I! }2 L: j% a4. 有的可以实现WinUSB高速通信。
8 [+ L3 q3 e! ]3 F# @/ ~如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
1 w7 v$ a1 N3 y4 D. Q/ j' Y2 U7 O
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
7 ^+ c% a  u5 [  h, L- J, i; ^+ h
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。
0 Q" _  j2 C9 |1 V---------------------------* P3 }" {2 C% z" G
淘宝搜了下,有两家卖的,价格在130左右。; V  g' ]* w; Z% {
stm32f723价格在60-70元?也太贵了吧。
6 |) R3 ~  }+ E3 S  R5 ^- y
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:077 k# L% t; t# s$ A; C
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

# b3 p+ ~" P" \1 D: B; U8 U% _1 m您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:447 D  r: u& d3 N* r4 Q
竟然是半孔板。
9 _+ |$ n% Q# @5 e" d+ Z  a---------------------------8 O+ y, B. l/ K/ {& w7 X& o" @
淘宝搜了下,有两家卖的,价格在130左右。

: T1 D( Q0 m' S- m3 c. F9 x5 i( M: [. ETB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04
) p! i8 U- b: L. D2 K" Q! G+ C您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...
: d- \3 Z% G$ F) h# A; F: \. B5 I$ I
有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26& V2 w0 L( @# D( j3 D
有的,发过
6 u) Z# k: G" A" p
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
  }$ J3 F7 e& Z. O能支持其他家的芯片吗

- ]( D1 l4 o( ?7 I% r改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.6 T' M/ f- {. A
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。# j  Y. ?3 V8 Z. \# W4 B

# H9 z! V( R/ X# h( F
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:430 v0 s6 [+ E1 s& D- u: b
周围一圈邮票孔,是不是意味着还有其他用法?
# M5 X( q1 A8 j+ d+ J
正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版