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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
& l0 l+ k# L. K  j9 ]8 I2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
0 Z3 k% q# O& n" f  w9 z( J2019-12-22 更新,SWD clock 达到18MHz(最大)。
% B8 M9 N: S- |& b
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
9 |0 E; a- y% t. }5 O  h2 I+ k2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。) C; s  a" B) E
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
: Q6 M- F7 n% y  W4 W6 `, [
. A) d8 _1 [0 D( R" \
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI  {* N2 T& f( J9 x3 I# \

2 `, s4 g1 n* Y4 p, u! y# eYAB:
3 R, ^8 U4 H* Chttps://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
5 D' T! y* F& ^- vhttp://github.com/RadioOperator/Yet_Another_Bootloader
! @5 r- N9 M1 X3 k
: J6 z8 I5 Y, p/ P0 I/ U2 z* D人生贵在折腾。
: ^0 T$ I# W) Y0 x  yST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。9 c  b4 J% A* Q8 ?% p( G
% Y2 l) e8 _0 K6 t' l, u+ L( p
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。
- Q2 k! N# V5 w缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。1 v3 H* e  I2 ]# l3 O
2 Z# a. T2 L# k0 i
官网:http://www.st.com/en/development-tools/stlink-v3mini.html
2 ?: t; v6 d! M/ q" G7 U; `) U4 f* `* W) H5 o" K
就是它:4 ~7 f& r1 w: Y- Q
p.jpg
2 s1 O  l4 m0 u( k
* Z1 j/ D, u; e改造后:留意我加了一条红色的连线。
% A8 O2 [7 i3 B/ T* h2 u8 [" H' { IMG_20190831_222637.jpg . m; M. L% Z; K  V" c/ u( u# z
IMG_20190831_222702.jpg
" O( `5 T9 g& D; z  m- ~  ]: S) n; o) }- [& ~& h
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。+ t* K6 D1 E, ^/ V

; I/ C# B  c3 g, }; G6 I后续可能的发展:
4 z1 J5 _( O. p3 a5 M1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。, W/ N! v( S7 F+ N% Q2 x

% a3 D6 y) T* N( V% g5 N6 Y( x7 `2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。0 Y7 M. V1 W' ?# L' S. S& H

- Y7 l/ Q/ a6 U5 Q1 Z2 F8 R# [3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
* o8 u2 z9 C5 W/ X% k5 Y" n. d
* ~' f2 v) R& R# {- b4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。) h# V+ b  N7 }

4 ]' D' {/ J( D! E& c2919-09-22更新,CMSIS-DAP源码,见附件。% Z0 h* h/ f7 d8 a. _  z1 W
重要的一张图,花了我很多时间才搞出来的:
. r  D* o7 [! s7 [$ I STLINK-V3MINI_GPIOs_v4.JPG " V! v% ^8 q6 B7 N
+ E3 g7 A4 X/ Y
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
3 n/ u9 P! K% ]. b 7 J) H9 ^1 F  R' G# O
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。5 v& O: }3 _% f3 G
  Q1 _1 M$ Z3 E' Q( n. c$ `* H
WinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
! N( g1 F" \0 q! O* d: m WinUSB Device.jpg $ O  \( v* T( g0 s9 |7 P
3 o: \3 Z1 t6 h# B+ y
1 a+ N! i' S7 t+ F& I! K3 u
还有许多方面可以玩的,比如:
6 ~, C, r" [: k" s- V! N% [2 z - DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
4 O$ ^1 K# U: j$ K/ r; a# Q - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
2 G- C5 q8 G" i! Z2 Q - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。0 T3 D0 y9 j. l" E
- 还有......我们有512KB的Flash,能做很多很多事情。
9 ~6 f7 E4 x* H8 j7 k0 S/ [9 j" V0 F+ d7 M* y
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
9 [/ l- r3 |+ x( @% ~4 s) q如果真的自己做板,千万别照抄,可以改进的地方很多。
3 e; p; b2 s7 z4 B$ w) j  _4 p. m+ o/ \0 `4 b. N  d6 s% v
CMSIS-DAP.jpg # e7 X! w& q: E, y3 B* E

, c; [+ l! n) I  S- j5 C+ Z
0 G& G$ s" c0 i; w" U重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)) c6 z! J" ^  s2 D
( N& U2 _  d6 b" X, a
) i& Z" n2 K7 x! {# K; T9 O/ u$ c
(以下内容与35楼相同,方便大家)
& \) `7 q; g# q3 m, R关于DAPLink的思考,
3 o+ x1 }2 b  h( n  v0 Y! k 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。% Z* l; `, V7 Z  t1 D+ g

! O5 e) m( p+ bDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。+ ~1 p/ q# H3 Q" \- C

+ ?# Q9 e4 k6 G7 D1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
) |- g/ O9 n8 _0 I8 `; h* [( [5 O: J7 r- P3 Z
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。2 a; L6 i3 n. _0 _1 c
8 v) @9 G/ c- S, k/ i
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
- ?  P- ~$ A* K" D1 X5 Q. \1 _5 }2 t) ?7 Z0 h5 k2 n
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。& i- ]$ N* D; e- G) g4 s
  ^2 j3 ]( A) T
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。$ g6 h7 I5 |% `! ?% U8 y
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

' b( K3 ^8 _4 _. X9 Q! g4 E
) P, {8 N1 L8 F; c/ V! g9 _
. |. O8 l0 q! a* A+ c4 u
2020-07-10 一个好消息,还有一个可能的坏消息:" \  P+ f# g% X  o
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。  v7 P" q5 }# L% t2 t6 |# ?& d! c
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
% Q+ [, V. F) t1 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口。现在市场上的可能是最后一批。
  J8 W: y0 c% o3 c( X" s! Y1 w
+ ^* c/ Q" C6 Y+ T& \

/ y" h& [: H* d9 o: H下面这个附件是最新的,与github一样。
2 N' |2 `9 R# c0 I2 s$ w5 ~0 Y

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的思考,. z5 G3 r, Y( o* J1 I5 F6 O# @2 n
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。4 M/ [3 Z( C* K  `
# {' P$ o* K0 _' c
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。/ Y. [7 Y& h6 m3 _  d

! \4 u  f5 N8 s2 J1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
9 ]9 \' _9 @  W/ E( x% {, ~0 }+ I# n5 I6 B' M% A  H
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
; ]: E! m! U+ H3 L9 e2 L; C  j5 _  R, l7 w7 p, |, J
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。
+ b3 z/ v. C; U& \: p" D
2 C# L; G& N+ A; }3 O4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。- `# }" V9 `8 U. F/ P$ i6 i8 [3 b: R
# W  E+ d5 V8 I8 o3 `+ r2 l. o

0 u+ s, `# Y# C' P  G: V% G: F  @所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
/ q- ^; B& g' x# b+ {; r* a$ g$ s顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。: `! M+ m6 _% D, V5 |9 H4 T+ Z; [3 k

7 e; R) |3 p, l! M
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:$ m/ J  i) i! F# T! `/ R9 A
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。! H3 |% }! V- j8 A9 Z5 s7 C
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。/ m0 R) u# b* v% Y
-
( M7 `' t3 ?: `
2 Z( |- `" B! B. y6 J8 e坏消息,最新版的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:309 G6 [2 ~& W3 N3 O
cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。& _' F# B2 y- `

& j: z3 I/ @8 ^; }! idaplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。 " V5 W/ b' W( i' E8 t
daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。* V  D# C9 ?+ x! w1 S
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:" i- e" u4 e" H, t! j, o
1. MSC拖拽下载目标板程序。
* v1 s! p. y3 H0 G7 E/ K, U  D, c2. MSC固件或Bootloader更新。' Z/ m5 [: C/ i
3. 有的可以实现WebUSB下载。
; r4 q; C# Q  K( `4. 有的可以实现WinUSB高速通信。8 D0 u' g4 r' P( k  |
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
9 f* R. B0 f- U0 q
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50

6 _+ m. n( [# J6 ]" f$ ^. X- w这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。2 |' d, X1 `% ^% R- F
---------------------------+ f" [6 j0 m- U" y+ H: Q! O" s
淘宝搜了下,有两家卖的,价格在130左右。
) I! n- C$ T8 p( x2 |, c3 fstm32f723价格在60-70元?也太贵了吧。1 k3 S) e+ T% g7 n7 F9 \  z3 X. \; X5 P
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07( c9 B- v' m  a) v
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

# E0 ?) c  f8 `( k( z  r, J您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:445 m$ }6 |, |: p4 v2 ^8 O) ]
竟然是半孔板。
" v) X- T+ L# Z7 J4 J0 `. S8 {---------------------------
1 ~/ x* m) N) `% t* g; O& d淘宝搜了下,有两家卖的,价格在130左右。

0 |3 B& D7 r9 j, JTB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04
5 ]; @7 e* R% ^您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...
. D4 _" n7 B+ [4 }4 u* v
有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26
, {+ K: g0 Y( e. g  T有的,发过

5 _/ {! {4 X2 ^9 @  v6 W/ p8 k找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
: `. A* Z0 c0 c; j& K) C能支持其他家的芯片吗
. w! d6 X) [9 ^" `" r& \% m( s3 Y6 L
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能., Z) l; K4 D" C6 m, e0 Y
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。$ u0 R, ]& f2 b; F* |3 a, T# p

# V2 G( j. i6 c! L7 x0 g5 b
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
; ~  ^+ H8 v3 @- g1 U% I1 c周围一圈邮票孔,是不是意味着还有其他用法?

+ j+ g6 p) r3 }8 J7 Y  \正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版