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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
, w$ x+ ]6 J- G0 L/ S* H: M2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。7 S- W5 M0 f) [
2019-12-22 更新,SWD clock 达到18MHz(最大)。5 F2 Q/ s, e1 c3 i6 a5 \
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
3 F" u$ K6 F* s9 y# S2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。
* E* G2 w4 c$ ~如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
7 {' D* K3 `  w; M, @$ J
3 v5 Z$ U  Z+ W$ i6 O2 l
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI
$ `( ]' B7 u- k, G& H" \, f) V! }6 S/ E+ h
YAB:- z, k2 p# Z4 F' B/ F8 q
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html( K3 ^% V# j& L8 L/ S6 X2 T
http://github.com/RadioOperator/Yet_Another_Bootloader
, M  j. r7 T9 f7 N, p0 K$ _
2 h4 d4 g& F5 p" p7 c人生贵在折腾。7 c, Q' ~2 L, V7 f6 T& u% t
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。2 ~0 H* x1 d  ]% e
  [' N5 D/ ^9 F+ `
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。0 r4 i" I2 ~( F
缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。" g$ L) G5 N8 Y6 c( b4 u
: H% ]: c# C; B( l
官网:http://www.st.com/en/development-tools/stlink-v3mini.html
" Y' ]) `9 a; @
+ Z- M& t: a' z! _) s就是它:
$ Z8 o( ?$ K5 Z# W4 ~& y p.jpg ! u) e* Z0 D4 s, ^! w

$ _) u& c2 m' B: N2 D改造后:留意我加了一条红色的连线。
" ?/ A; O% I* w8 \. U5 F$ a IMG_20190831_222637.jpg ) C+ T, I) {; u' l$ @7 z& D
IMG_20190831_222702.jpg ' e* ~/ b' F% P- G0 U

/ `; [6 i# K- z) t从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。
* w: L5 K) y& o2 O; Q4 Q+ M
1 x2 o, z) ?0 f1 t0 C/ U7 C后续可能的发展:& p1 u) _( S( D) o+ s2 V! g, M
1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。+ D: G0 W5 @7 O

4 D2 y2 G3 d. j$ c, r1 I5 p2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
! T" y& j. o) p0 o, _, O5 {, r4 [; ]" E4 b( y9 l, ^7 z) a/ t# R
3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。# N& }7 b) d; p4 S+ z# V; o; m
0 U1 _  b( |" P4 I) B
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。  E) r# @( z+ o' ]/ D( C! P

0 \4 Q; V" W  J( n# I" k2919-09-22更新,CMSIS-DAP源码,见附件。
0 @) d1 _) ?' x4 N. U+ x0 @重要的一张图,花了我很多时间才搞出来的:
+ w0 N# M4 v5 @; F3 x/ V4 B STLINK-V3MINI_GPIOs_v4.JPG
/ Q0 V. w( K+ ^, y
3 C# i, r" e3 C; y( ~4 ^" }3 rCMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。) g; J8 j! s# z7 [3 k+ W( h
7 l% S1 h$ L6 e# i' `
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。# {2 x1 U0 d. v- J, m. l

1 C5 ?' W$ f0 l! b* e) J0 TWinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
, d9 L/ v8 P. F$ B1 G WinUSB Device.jpg
' F( X; k; ^5 [3 ]+ Y) q- \% j" c6 n- s; B9 i5 c. |) b

/ ~- S2 D+ C4 w) U还有许多方面可以玩的,比如:5 b) f6 i' G# W$ N, b$ N$ C
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
0 _  C0 W" l9 o/ B' U0 o2 } - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。  G& H4 M) Y5 L$ B$ B6 m' |7 o5 @
- 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。7 R* K  P0 ^; n, F  j
- 还有......我们有512KB的Flash,能做很多很多事情。
* v, y- L8 L1 g1 Q( v: C8 j! r5 P8 B' ?  J" ]! _
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
- w7 H2 g9 M! a; H$ W5 J2 J如果真的自己做板,千万别照抄,可以改进的地方很多。  ]) S4 K  u( }. K7 Z, h
! F! ^( J( u' v- S3 l
CMSIS-DAP.jpg
" O, Z; l( N% S2 F' z
9 ]# I: `: r* t* v
) {( U3 C4 z  z* U/ G9 X1 u0 r5 r重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10). \2 k) Y3 v0 A' K' l9 Q

& j! x7 Z/ w9 ^, t

; E9 n/ E$ n* \' F(以下内容与35楼相同,方便大家)1 d3 x6 l6 J& o
关于DAPLink的思考,
8 P0 d4 z: z5 k5 d9 y 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。$ L; f9 ^  L) k" K6 B* o! x( S! e

7 ]0 A0 P& i9 g$ _DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
. c0 }5 W8 y3 n* s
. X3 e$ C+ }# R' B/ s1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
1 f$ R& J) B" f, Z; K: J% Y) E: N0 U# b9 q5 k: C- _/ i5 `* R
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
( Z! M; Y+ C! }1 e* @0 a- U! U; A( q) C! J# A$ a: ?2 G4 h
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
: q* ]1 y+ T; P: U4 T* {: |* }  n7 f2 s! C0 e
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
3 p; t6 x  X7 a# P* Y1 \' v/ G3 y
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。8 _$ [9 a: B/ l0 d* P1 _; ?
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
9 F, g5 `7 A/ L1 S# ^
5 K# p/ S. M  M' u+ B

2 J5 x* W* j$ a  b/ a  k7 Z" W2020-07-10 一个好消息,还有一个可能的坏消息:5 F7 K- ?2 n% F2 M1 R+ f
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
2 r6 p* \+ b) w( e  @建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
& @5 m2 C  Q$ t1 n坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。
9 K4 {; d% G- j1 C
( _, r1 o4 L: K

8 W: w' }. q" `! @1 Y- P下面这个附件是最新的,与github一样。# w/ Q5 Z1 ?' w$ j7 c

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的思考,. b3 F9 R& \% [5 O" \+ ?
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。0 \. e0 f) w& ^3 ^0 S

& \. }' j; Y' e6 M$ R$ V  yDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
7 F% b# ^4 R8 A4 N3 T( m* E' ]! }; ]' t7 ]$ [* S
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
# c# n+ G" K$ s6 R3 U( m+ |, p5 l! F% s7 p$ c# z' H( L
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
  N0 T, `1 `) S0 I3 k8 h/ F; p/ [; T9 T, L6 H& K1 q
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
4 C9 y( P, s2 b8 V! J
; {7 x  \' Z+ u" G; D0 z4 ]4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。- ?1 F% M, q/ I8 D* b

. l4 w: E. w% k3 y4 U) k
, s! {& ^0 }1 @- `  W( U4 I  M( m所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。& Y0 X( p: X+ y. [
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
+ t) O/ L$ b% t5 T  T' s4 p, h# u) b* Q- h  E8 U3 P9 V/ W
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:: @6 w7 h0 C9 }" c+ N4 Q" {9 C' o0 ]
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。$ a5 R# I) L- x3 T- ?% t3 l
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
( c2 u  n0 |6 x% g. x7 p  W-* k) T3 d( G: S

( i' [4 P: A; j- 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:301 ^8 r. O% a1 R
cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。
$ b* Y) n1 e- ^5 i  ^  [5 S: E/ h6 I2 S# k, `$ v
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
! o$ o% A1 |/ f& vdaplink主要是给没有自己的xxLINK的IC厂家做开发板用的。
" L& W4 Q( I" R6 ^daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:
1 g6 x+ U! U0 N* @3 }1. MSC拖拽下载目标板程序。
$ m% q- Y: h6 D* a/ p; c0 C2. MSC固件或Bootloader更新。
! ~4 ~1 t. w- D4 R3. 有的可以实现WebUSB下载。7 }: V0 Q0 u, D) l  w* N; w
4. 有的可以实现WinUSB高速通信。7 d4 H9 @% z. f
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。" R" t7 C/ f- X% V- s  b
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50

2 u! V% T9 I7 f- Z1 z这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。
  T8 w( |0 t7 M" Z2 F* _7 ?---------------------------: r% F, p- B! V: W- }  P
淘宝搜了下,有两家卖的,价格在130左右。
: X6 D# n- c7 N; K7 K) w0 astm32f723价格在60-70元?也太贵了吧。
1 s& Z) V" d4 n3 G
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
+ W$ }- c6 K# K这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

0 w- \  g% i& M您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
9 g: {- Z) v1 {- B竟然是半孔板。/ m5 Z% j+ F$ Q! l. r
---------------------------
# z4 ]5 |/ Y/ |' ^9 z- {淘宝搜了下,有两家卖的,价格在130左右。
7 B+ `/ c) A' B
TB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04, |+ ]3 X0 t' H3 t
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

9 `9 d) S) s/ V- L有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26# p1 Q' _1 j* L, ~
有的,发过
9 f: g7 R: V- n
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14  k8 P4 Q, K, F8 q2 ~6 M
能支持其他家的芯片吗

# D+ O9 F& T8 J3 l改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.
, D+ N* \3 C, b) W. z3 P' N, @可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。
$ |* y* R5 v1 @- \; z! W4 {; \3 E9 r% H9 |  Y
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( P5 d; L. e: c% C& N0 h* R: w
周围一圈邮票孔,是不是意味着还有其他用法?
! Z3 f- X/ P: g4 N
正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版