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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
3 Z8 q+ d3 D% {! D. N, g, }2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。" Q* b* r" ~4 ]' n- d
2019-12-22 更新,SWD clock 达到18MHz(最大)。6 h2 D4 T( |, n) ]5 X, }
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
  O8 f1 C% P% L3 d9 T+ d' c+ w" y2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。8 A4 i+ v, M* D
如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。
2 {+ P% s5 G# M/ D- K& p  I

7 e  n; W( h- ]% g! Whttp://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI0 m" V4 \# v$ X3 r

* M: S% K: `8 s7 f0 dYAB:
' \( C  c# H; h6 j) d7 V& O8 L  jhttps://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
, g: U+ |. j% x4 T. _. D  uhttp://github.com/RadioOperator/Yet_Another_Bootloader- s% x; u$ L/ ~: p
2 s/ W" W3 ~5 w8 T4 T+ W; v
人生贵在折腾。, |0 g1 }8 m/ V0 f! v! c
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。
$ C% ?* l( J0 g% g- Z1 W6 |3 P1 Z* S( B0 O9 }
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。9 g6 [" |2 U8 L- l. A
缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。
$ ]# }# S6 S! O7 G
! _$ T, |* [( g官网:http://www.st.com/en/development-tools/stlink-v3mini.html
% m7 J5 X  t% ~- K
2 d7 S/ V+ U$ m8 ^2 z; G0 i就是它:
3 x" F* V8 z9 z6 ?5 F9 g p.jpg
" y, @; A/ u6 }7 g9 A" U9 C% c! ?+ x  I
改造后:留意我加了一条红色的连线。9 E# {8 l* [4 k# @- o6 {6 p6 l
IMG_20190831_222637.jpg ; m/ \! h0 U2 v- F2 L
IMG_20190831_222702.jpg
( b5 J1 {3 ~% ?) _4 V* d, b- R' b. t' B# o5 Q4 j
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。1 v7 E% J1 e* k& e& _/ E' s
+ R! K$ m% u9 P5 W
后续可能的发展:
% X6 R; D5 e% X: J- m5 N: ?1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。; {. h) @' q& U" |

7 @5 Y. s$ l* n4 A& x% r/ x2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。+ ?. |8 W/ D9 s  L' a  r" ]/ l
# N% {; Z1 C- k8 p! V/ r0 `
3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。$ k6 G+ P2 {% L
+ ?) `0 P8 W' H
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。  }; O( L$ @  X' V9 j3 c: b; g
# \+ J# K7 L: n/ _5 v7 J# `
2919-09-22更新,CMSIS-DAP源码,见附件。
9 X  a/ y2 X* `- c' D重要的一张图,花了我很多时间才搞出来的:  P. ^: L' A5 h, T) \) i$ i3 j
STLINK-V3MINI_GPIOs_v4.JPG
2 Z3 s+ j" E. ~& ]9 @2 b0 a6 k# c% j  A/ w# A7 h1 w' ~
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。7 Q1 C" D4 j. R. Y
) l* [- u; b) o" u" h3 d
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
& r/ g% t; F9 j* w" O: }. R
$ z* g; M. q0 e+ d# t% K/ BWinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
5 i" E$ n2 l8 T7 ^' _ WinUSB Device.jpg
' T$ q4 _7 L' o
5 x/ D& G& u. h
. c; }+ V& H! U* I/ {* ^还有许多方面可以玩的,比如:
6 x+ d& p2 V4 m. y0 n/ U9 m, J' ]+ v - DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
2 }# V! _. k& |) }/ V: l - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。, F$ T2 e6 U/ @
- 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。4 R5 `) C: K" t4 E) V
- 还有......我们有512KB的Flash,能做很多很多事情。' M+ `6 o) b  o2 f! h& N2 J4 M

" ]% Y; Y' d+ C9 N0 [' L硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。9 T6 x0 \( U/ i5 P) T% K) F/ H
如果真的自己做板,千万别照抄,可以改进的地方很多。
. H$ b+ }- c& ?7 W& J4 V' P  R4 a; z) Z  |2 N0 A
CMSIS-DAP.jpg
$ O) W1 B0 E" d. Z0 G- C2 g% z* L% X6 t9 q* ?5 g/ _
4 m0 j- n- d/ K5 E$ L1 c1 c
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)
, E8 v9 g% q( {, i
4 [' k7 j1 h) h$ v

4 F) L: K1 H. Q3 _/ V0 N(以下内容与35楼相同,方便大家); K8 f5 i* B$ D8 I4 P' z
关于DAPLink的思考,! ~7 ^! [' p. M' Z) \5 x( r  W
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。: i! r9 C) P5 h

, q0 D% G* Z3 ?$ NDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
% i3 p& r& @# m3 v& a
( S2 U* d, w% {/ k1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。4 G+ r( f1 U1 q' `' F: ?
3 s: K* s: M4 h# P
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。* {' k% {6 L* r+ W% Z
1 c" I8 L# o. p+ X' ^* K  g
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。# W$ `3 u7 I8 K9 @5 u, {2 _) t

1 |: [) g+ k* z6 e* U4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
8 j# P  ~% m8 M# D/ b' H0 t1 x) Z% C) [/ B; O5 i# w9 D
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。5 |4 n- S: I0 ?
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。

2 V8 z1 C+ v5 {
' K1 {! k. l- |! {9 i7 v# J3 m, q

( N( ]/ U4 `9 [+ n  \0 g" W- F2020-07-10 一个好消息,还有一个可能的坏消息:
( ^. Q5 J9 x2 @+ r好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。$ U+ i9 w6 P9 e/ S  L$ J% }# @
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
/ D* x, K  t$ k- S8 h$ X4 m( ~% x坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。4 r; M" X( O9 H7 d- V) H
; V2 N5 y# r9 W0 B6 ]
5 B# O& }; W9 ~' a" |) B
下面这个附件是最新的,与github一样。5 [  [& |) a! `9 l1 R: J

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的思考,
0 G( r4 p) Y! o) l5 j由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
/ x  }- ~/ _9 I, B, Q
9 x: u  D/ B' N6 ^5 rDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
' S% A/ l  ^# i: m
( B. S  D) h, p1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。& Q4 |" Q" |/ Z* C( h# G5 u5 \+ X
$ ?! K2 W- @' x8 Z* u* ^- K
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。! ]& b& E  G) j1 w9 L# v

0 O- j" G0 C6 o2 A1 w" w3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。- t1 y( i1 T, [- E, q
3 V- N) Z8 U3 u
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。! H/ r9 m) B+ U7 L4 l
- H1 J3 b) d& w" ]1 n% ], E% A) ^% l, a
6 o$ z3 p, z- }8 \( O
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。5 b  R& ?: ]: U+ ]
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
3 L; |! q6 I- H7 S1 L0 x0 w/ K& K  D8 K0 u
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:
$ Y2 ]- L) y& G' Q5 \好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
7 y1 |% A8 a. w, R# E$ ^建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
6 a/ X+ l5 z# B* p' b' [5 {% B-" }- g8 i- B/ K- m
' H0 \  \  z9 Q
坏消息,最新版的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
. g+ E/ v3 p& K! H& Xcmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。' d% {' V! ^/ O8 c5 ]4 l* O
0 O7 S2 \! h, |: b+ w
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
8 s* L3 m. o/ K4 ~. z4 q- n0 ~daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。5 v4 p" k' ^8 ]3 ]# R
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:( `2 k8 r9 z3 u' ~8 G
1. MSC拖拽下载目标板程序。
9 A+ l/ \7 D, p, y  S- U2. MSC固件或Bootloader更新。
4 \2 }6 y/ {6 p' c0 m3. 有的可以实现WebUSB下载。
; ?, G- U2 w0 |8 y4 I4. 有的可以实现WinUSB高速通信。
: \# v& d8 H% v, O% x' U如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
: `' g/ P& b2 n% o
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
7 u9 {4 i7 T( }) B9 _
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。: ?  {% F0 @& W# ^7 t) ^
---------------------------8 A4 D& r5 }; ^* m+ Q
淘宝搜了下,有两家卖的,价格在130左右。0 b) ?9 ~; }2 c
stm32f723价格在60-70元?也太贵了吧。
) I9 l& g$ i4 R
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:072 U0 L: ], T# W
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...
8 b6 E9 `* Q9 l( z4 d# l# _
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:448 ?/ }" I- ^  C  |+ y# ^) z% k
竟然是半孔板。/ `; N& h( M3 h
---------------------------9 |5 v# P, ^1 U- ]
淘宝搜了下,有两家卖的,价格在130左右。
. w5 ^1 j; J: z6 N
TB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:044 o, v1 H5 `: O8 t" _& I2 ~
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

( B, @* x( A- ]有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26
3 _( Z: K2 N. G, @- b有的,发过

& J  y5 i9 N7 H. W7 n找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14/ L8 q0 l  c9 X' r/ u+ n
能支持其他家的芯片吗
, L4 J6 {# P3 `) y$ Y" h
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.$ j5 v0 G2 F# I, W7 ^7 T
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。8 i" D  j8 T$ o

8 w( E0 `$ T) ]5 P, `( n
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, t" U% Q( d% X4 D7 h+ L! i0 N
周围一圈邮票孔,是不是意味着还有其他用法?

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