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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
! X# n) q8 u! j- ^2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
& r. i* [7 c7 f  R$ Y2019-12-22 更新,SWD clock 达到18MHz(最大)。& _9 _3 U5 L2 o$ W
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
) U  X. r& P: M) y& p5 A( _  c& P2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。
+ C  s1 z. l  i& @$ @& o! ~如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。: O) Z! O+ j0 A; r) R
8 P9 V% C( E- G( x
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI
+ R( U7 Z% _$ q9 v* L! b; }4 M
YAB:2 {8 I- D% c" h% [7 t
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html* y9 E* X; V" s- B, {" d
http://github.com/RadioOperator/Yet_Another_Bootloader
+ N6 u% N' c1 h: _/ c1 G4 ~8 R
, ]: b. v: M" [, z9 a& J  u/ [人生贵在折腾。# P* ^2 {' C0 b4 N6 |& y% u
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。% [" p: C+ u2 x7 A

- g0 \2 z6 O- c' _0 @: k; Z2 e优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
6 ], [' ?9 `- s8 V0 d- z缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。. s/ u' l7 F& u. x  w, J
3 d: \5 V. k! m$ e
官网:http://www.st.com/en/development-tools/stlink-v3mini.html; P1 b/ I; C. B) F4 o- n
5 A8 M8 d1 J; l! t2 _
就是它:, _( v; y6 `' S
p.jpg
6 j9 D% a! c5 d+ S7 o
$ H/ w. T9 o# N0 e4 D  X/ I' r* E改造后:留意我加了一条红色的连线。
1 X" z2 C# D# i* y0 u IMG_20190831_222637.jpg 9 J2 p6 h3 n8 C' p# J0 \9 Z$ z9 a
IMG_20190831_222702.jpg % ^" h% S& |" r" H- o

$ W; u+ R/ v2 `3 d; j2 v从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。! v% e" o/ U* _3 S2 z  Y6 u* X3 {
  A* I( ]; J1 Z; z
后续可能的发展:) f: [% B/ j, {0 d9 e1 `% O
1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。
" |& v3 F* r; L* x  I$ {0 a3 g; c: N: E
2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
# C% j: c% t6 \& m
: u$ S  v. U$ J5 ?3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
: `/ I4 @; k" `. b1 K# M/ j& u$ f" I5 }. g, Y( b
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。
6 i1 U8 O( b) ]" `
8 I* o5 B3 Y* T3 w2919-09-22更新,CMSIS-DAP源码,见附件。
3 T2 x# t3 x1 y0 _3 d8 |重要的一张图,花了我很多时间才搞出来的:
. ?5 w. ~$ [' R3 P8 e* ]' k STLINK-V3MINI_GPIOs_v4.JPG
' V! Q. _3 O2 u& a) C) Z  s: ?5 M8 J% O
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。8 }# O% s1 B  e
: j5 p! B: h0 _7 h* g+ m* O
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。2 i) b4 c* m$ W/ \3 b- C
( t2 n" N/ ^- V  T  C/ p
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
) [: S. [' Z* e% z WinUSB Device.jpg
6 H5 b/ f/ F; d% A% X+ F( a0 d$ W3 _8 Q" _) {0 h7 C9 u
7 U' \$ a, M8 W2 j1 G4 Z
还有许多方面可以玩的,比如:0 E! a, r9 p1 N+ X; A( U* K1 H
- DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
( g7 X5 Z  F0 \) M8 Y0 V - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
# I3 a$ B, d8 ~  h1 q4 a: Z - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
# ?+ R. a# s7 C  ] - 还有......我们有512KB的Flash,能做很多很多事情。
. |5 s* M3 N. b! O) N; E. H4 Z8 ~( z
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。) m0 e+ _0 o1 s2 r
如果真的自己做板,千万别照抄,可以改进的地方很多。
( g+ ^6 j  A5 t) V9 D+ c
( `; t) }. P& j" ^3 T% t4 k; [ CMSIS-DAP.jpg
; J! P: b9 h8 Z) w
+ y5 [+ a) O) s: e7 i" z9 |- ], h( f
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)5 f. t3 h3 Q' r( w# K; J; _4 B/ b( F

. v: o; o" O$ F/ S" ^
" g$ `" @  W7 J: v! s4 t
(以下内容与35楼相同,方便大家)) L7 R# _: W7 \
关于DAPLink的思考,
8 z4 `, y$ V0 t) k" @4 H8 S 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。' R7 J0 i' E7 S+ C( t( b
' T/ J1 z% n( o0 X% I
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
; p- a! k* i3 J7 S5 {* _5 w9 ^! d8 f/ l$ B6 i3 Q5 U
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。* T9 E" O5 |9 K1 J: E
. C2 G: `& Y* E  K: i; u- u8 d
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
8 s* {$ `8 T+ G
3 k+ k% j# O  h' F3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。0 L; x$ `6 S5 j% k9 ^- A; M, L

  I' ^: F1 R9 I) V& @  b6 q' r* b( b( P4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
5 z5 x% \2 P. v, C! b' \5 {
( V  x  P- F2 k5 W 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
6 v0 Z; r8 v, V3 r, |" ] 顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

0 g9 w& G( p' L. W' _1 k9 @- B/ ?4 ~- N

, x' t2 l7 u' w2020-07-10 一个好消息,还有一个可能的坏消息:
' O- Y! I# H/ E, ?( z好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
( N2 _  E. g+ W, B* ~0 _建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
7 j6 }' ^) l& I, ]坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。
( |0 K% N! v. N# g2 l. \2 `6 r+ v. t" ^6 ^  T2 k

( |  B* {% m% d% R下面这个附件是最新的,与github一样。
( h# G* M0 z9 P+ q

CMSIS-DAP_for_STLINK-V3MINI-master20201011.zip

下载

15.33 MB, 下载次数: 471

评分

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

查看全部评分

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

举报

92个回答
radio2radio 回答时间:2019-10-10 00:07:31
关于DAPLink的思考,
$ G2 j. g  R+ N由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
, Z: q8 L& g* m! s' n6 }: P4 J" Y0 T; K
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
  i: d& y+ H3 J( e& P( V3 P" v4 A# X# Y& o' _, g) ^, u
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。$ \# J( ]7 H8 U7 B( t

! T$ Z5 L2 }% }$ D# S4 D7 C# ]2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
7 V/ M4 X$ n$ j0 y1 C
2 o# c& O4 B7 s% L+ j% Y3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。3 u% ^( @  S) u$ _5 s& m4 ~( S6 ?: L+ ?

6 J3 P, G: @# M1 T4 |4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
! B" c4 O2 Y5 c* V! y; s3 S/ ]; k/ I$ y9 L
. e0 f5 Y. X3 M2 E: C
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
* s- S1 y3 L5 J" f9 Y顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。  w! M5 G( x6 q1 y$ }# K
" Y  W$ c- n; U
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:
+ v! y, m: s; Z4 {; u) d好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。" ?# @3 U9 G6 H" o% ~
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。, x8 Q+ @( r$ ^% r9 _
-
1 A, d9 Y( N% `
8 H. x' j  t% L5 w* [8 k坏消息,最新版的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
- X/ s& t. [2 v- C/ ?cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。
8 w* o! a, s% M' h& Y
6 v# w+ a4 W+ m  e& S( I. bdaplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。 3 l* O8 Z0 @  o
daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。, B1 l/ w4 S1 k  i* D
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:# z' s' Y' G) d1 l( o
1. MSC拖拽下载目标板程序。2 s, q& J+ U' q7 w7 u0 o
2. MSC固件或Bootloader更新。
! a9 @7 [1 ]+ w" D3 P3. 有的可以实现WebUSB下载。
1 |/ U0 d6 V% x) |5 f5 ^' H4. 有的可以实现WinUSB高速通信。6 h; p" L; v$ }3 l% R
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
% ?+ R# f1 O" g2 l! m8 g
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50

+ G" k4 k6 {$ ?+ v1 V这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。
% E0 r0 D# k8 F---------------------------
  J1 u+ r( A% M" ~+ |7 R' n0 N淘宝搜了下,有两家卖的,价格在130左右。
0 p: y: y- K/ i' W$ C' Estm32f723价格在60-70元?也太贵了吧。
1 i9 X3 q! G( |2 h: {* e
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
# ^6 n- T. @$ ]. I这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

8 p) b4 F7 q- Z3 i1 K您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
+ ~" h$ B' }- q* w5 Y竟然是半孔板。
' f4 u0 Z% e; y2 i. a. a2 K---------------------------( U! V. K' @) z( i$ w0 W1 X9 `0 h
淘宝搜了下,有两家卖的,价格在130左右。
$ A+ B# ?; e2 _  R
TB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04
+ z/ g/ P9 }2 G. C$ O8 l您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...
- F( g) ?6 F, \( J( V6 \' ?+ p
有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26/ G! z" p: X* v
有的,发过
/ U# }- i2 C/ s% i
找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14* v. l9 C! G$ i
能支持其他家的芯片吗
: L% D; d: Y4 G) e! f8 W* r9 ^1 B
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.
- {  A9 x* |( z$ I, G$ Z可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。6 s0 J, C) |" t9 ^- ]9 B

0 r* e* n8 Y( Y8 \- j8 U7 ~
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; e/ j9 G2 u( a$ f+ W- T
周围一圈邮票孔,是不是意味着还有其他用法?

( W' e6 t" x+ e9 @0 v% C) j正是!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 手机版