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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。  h% X7 m2 c, y* v7 g% a( x
2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
% }5 L6 D; z/ Y! e2 Y7 x: i" L) u2019-12-22 更新,SWD clock 达到18MHz(最大)。
0 X0 j6 T  ?! o$ o3 {
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。& e+ s8 W$ [7 J3 v0 V
2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。' |; |: K2 c. T: @3 F8 |6 @
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
6 l$ Z$ R3 t* i
$ [5 r; g: O0 x0 S  I& L, F
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI1 j8 R( w6 ?0 {3 F0 D; n7 p* h0 Y

% ^! X8 c  q/ g) Y" d0 Y, }% X# ZYAB:
4 }! g% N' C3 Ahttps://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
3 _: B- S  H  z2 |. G# w3 R0 vhttp://github.com/RadioOperator/Yet_Another_Bootloader
# f8 O6 D" B4 I: i2 i
. Z" X9 f' G# G7 a1 g) g/ F人生贵在折腾。
/ [: N+ z& X7 _4 X: XST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。# n* o9 W6 h2 q4 c

9 L9 q, U5 ]9 c: q优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
! \; Z6 F- p# [* \; ~0 G, y+ V1 B缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。( P! m2 E" I# Y
5 C- h; ]4 J+ G: ]
官网:http://www.st.com/en/development-tools/stlink-v3mini.html
. o" D5 c. b' N+ D1 Z# O3 f# w8 J" S& x5 A8 \; j
就是它:6 W' j4 B2 [9 D
p.jpg - P$ s2 z0 d' |' ]3 z
- F" H+ l2 F% x( ]$ S. I  d% |3 _$ H
改造后:留意我加了一条红色的连线。( l0 C: U+ _+ n4 d0 x
IMG_20190831_222637.jpg ( }. g  P& A( d# Y& V
IMG_20190831_222702.jpg
- ]7 Q' `+ W, N/ y$ _7 b' C  e
/ k3 B+ H4 E3 J, O8 v' ~" B从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。
% c1 X. [1 W0 u; [, z9 _) e) P
! A! O/ @1 z# t2 _- M. k后续可能的发展:
% p- r3 k% I" P( W4 X1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。0 [" j9 W" I( d8 y

4 t. q1 }1 [! Q) Y4 X% @9 H2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。) R: x) q! l$ I/ `$ M9 L

: R/ \5 g& q! b/ a8 N8 x) K! l3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。5 U8 y0 P# b0 f" c; i3 O6 s
+ ~: Q$ a2 U4 [2 o% H$ E6 l
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。
, o6 I/ q1 X( \" }. u9 g3 P0 d7 \% N7 t6 {1 Z8 ]; D6 s+ t
2919-09-22更新,CMSIS-DAP源码,见附件。
( v9 j) |! L9 p$ }* q2 s重要的一张图,花了我很多时间才搞出来的:$ ^" S2 S7 P3 z4 _$ ?7 Q+ W( _! C9 D6 |
STLINK-V3MINI_GPIOs_v4.JPG
6 V0 K6 [2 K1 z1 \
  I( \$ `& \# n6 GCMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。! ~- _4 \0 _, z& V8 |

% F. a- c* k% Y$ a, G( j另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
0 U7 f! R3 j# G. H( o; d
5 S" p% Q; b: ~3 |/ x0 WWinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
/ A3 r; g6 \. c WinUSB Device.jpg
4 b0 j7 _( L7 ~, z/ z. ]8 b* l1 @* H0 e- H( P. x
0 u9 f% a8 H6 ^( B6 W9 b
还有许多方面可以玩的,比如:# S; Y7 {) u; l* e0 o  a6 v
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。0 a3 [1 S8 Y; k" c
- Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。+ |& r) |7 ?% a6 e' t
- 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
5 e# i# x. l' i. [ - 还有......我们有512KB的Flash,能做很多很多事情。
0 D+ e  G, V9 d0 l  s. P
  z" r4 _& m/ H/ E  d硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
8 ?- n) e2 ]! e: a5 v1 ?* R如果真的自己做板,千万别照抄,可以改进的地方很多。
& c/ l8 O- i; C# \3 r8 L, D' x( \9 r) f6 N
CMSIS-DAP.jpg
& o& g( g/ j8 M0 [8 u  Y
! X1 J3 U/ c3 w. j7 |
( G- \8 Z9 @: A, W重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10): N7 N) j2 k' G& ^' e

; [: m# n  e. L8 r+ B8 M
6 R6 Z" G; K3 r/ C7 F0 d1 `1 h# r: Z# f
(以下内容与35楼相同,方便大家)7 L7 j( x* E6 ~, @; Y) f
关于DAPLink的思考,
1 @* |+ T2 I6 _$ k 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。1 s, T2 t, ^( T. F4 M

; _2 |9 C+ e. A$ {3 r5 J: f$ ZDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
& W4 \8 }/ T/ b# x/ ?
+ a- M, K( C% b2 N* E  m) d; U1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
3 L8 |' E) K  z; j' |
5 W- M& e5 g( W1 {) [2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
. A8 ^3 S" I3 n  W" L% B
! @! [# i5 K, m5 A$ W1 v% C3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
9 m  w6 d$ J9 q5 y$ W$ Z5 a. }$ p. F0 x. R0 M0 O' g
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
5 c$ d& N# ^$ R
( [7 L, B. L' ?) M- c; v 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。/ ]1 ?! p7 F. `' v1 T% T
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

5 A6 z7 A% V9 c6 G$ J
" o& z8 J) _: F/ Z
# f& P" w+ [, [% c. ^
2020-07-10 一个好消息,还有一个可能的坏消息:
8 Z. O- ~7 d7 Z, o3 y, T5 {好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
& Y# C8 S1 ~; W  t* t建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。- }7 f+ M) e) W" @1 F: U, z
坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。
/ z4 j3 L! K6 E& e1 v2 D. q  P
/ |* Z6 ?8 _) y" _1 d4 ~
# u7 D+ P& l* Z
下面这个附件是最新的,与github一样。$ v9 t& P' v  m* I

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的思考,
9 N2 s8 E1 }# D! b9 [7 N: [由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。* n0 F- u& ]$ ?0 b) d
) Q! E" y3 d+ b& `6 u# r  R
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。; z/ L) j  u. V! C( u. _
/ t/ C$ O& H+ k: w
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
6 Q* n* l7 t) `2 t2 F+ t  `! N. M1 d- Q3 i! b9 \" C2 O/ {
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。% {# e6 S5 d3 N& u7 c% E

; I& A' T- j- E1 O% F3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
+ b* J4 W* I. e: }; d
5 d; d4 Y$ F) {( ~4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
( q, s1 }4 R) [0 {
& Y2 @0 H# u( Q2 K( l/ A; a* P4 o: x, x
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。0 L$ V5 |; q  v2 y6 G
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
, A$ E6 q5 q) B. M: D/ _( i; R+ n/ P( Y0 l! J, L# B# U
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:7 C- c, q9 t) Z
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。5 g2 l- U2 R' r& d) W- M
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
: J$ U0 p) S; i+ }! o, `* Q-
& ]+ |' j! g. ^7 h6 Q' N& w7 Y5 E5 Y6 ?$ F  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口。现在市场上的可能是最后一批。
radio2radio 回答时间:2020-10-11 00:22:07
a691662 发表于 2020-10-8 15:30
- p. ^* i- z+ I  i6 H( l& W& zcmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。
, H7 e6 b" S9 I* c
2 T) f3 L8 D" }6 V4 Rdaplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
* _. N6 W$ w8 v1 v% t) A( Qdaplink主要是给没有自己的xxLINK的IC厂家做开发板用的。
& Q$ |0 s0 }. {! S( Ydaplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:
; P7 p' f5 Q0 `: c8 W( i- I8 h1. MSC拖拽下载目标板程序。, P  n6 e, `; P9 r  l- C
2. MSC固件或Bootloader更新。
& E: o. J' A( h5 M4 z( {8 v3. 有的可以实现WebUSB下载。
" P0 o1 F0 _: R; t4. 有的可以实现WinUSB高速通信。
0 d9 u+ y$ n3 ]0 `4 i& {! e, m, n如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。, y$ {" \/ {, s' B! C
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
! f7 N" O! A% y5 Z, ~2 N1 Q: q
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。  s. o, @. `& J( V8 h
---------------------------
- B; n+ K0 v1 A" s淘宝搜了下,有两家卖的,价格在130左右。
6 f) q. }, F$ I/ N2 o3 D4 Gstm32f723价格在60-70元?也太贵了吧。
- x* J: K- d9 p
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:077 |7 l- `  Z0 }7 W
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

9 s' x- O& j9 Q; [* u+ p5 _您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
3 Z# d% c" t4 W0 P' U0 _' F& z竟然是半孔板。: j$ [4 H5 n4 S5 t2 w3 h& O4 d
---------------------------8 K# [/ O. ?  d/ s6 o- @8 b
淘宝搜了下,有两家卖的,价格在130左右。
  `. x8 P- t( v- m; y' N
TB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:047 R% i1 u4 a! f8 {9 ~: b
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...
. L4 P7 t# A% ?
有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26( R8 U* @( K2 E. @+ Y  {0 Y1 n6 f4 Z
有的,发过

9 t' D$ z/ ?; r找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14- H, \4 }- k# _% M
能支持其他家的芯片吗
2 X( a! s/ ]; `* Y
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.
5 y9 ^4 o  U8 O可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。/ ^8 \6 X" I1 U0 J# {# P

4 r% k) Y! I* o$ A5 U8 g7 g% `
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:433 |9 N& p, C  P8 j; ^, P
周围一圈邮票孔,是不是意味着还有其他用法?
0 V; ?! X: w5 U
正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版