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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。6 m. m6 A, O9 ~9 v' O. ?; Z
2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。
/ G) ~: z- s' d/ A2019-12-22 更新,SWD clock 达到18MHz(最大)。
# E3 Z/ I( Q5 D4 o
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
- N" O- B  |9 b  o$ Y( X( A3 b: Q  |) T2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。
# ^4 l  u, H/ w5 F$ U" u如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。$ B; T4 M4 C  z$ k
6 y& w: L, T* e5 l* h3 f( B) \
http://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI  U6 ~7 u2 B: l$ ?" H& g# e+ e* L/ i
6 m% r; l. ?( @  n. L
YAB:
6 @0 b: c. W8 x: ~, q# mhttps://www.stmcu.org.cn/module/forum/thread-625998-1-1.html) o- }! z% r3 Q
http://github.com/RadioOperator/Yet_Another_Bootloader+ f# m- P2 a: k* u

" Y' G( R6 m, S0 W) d: Z人生贵在折腾。/ w/ J% P7 [' ~
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。
% F2 o( Y/ A' Y% S4 e# U* @* A- B* x  P: T! g" {
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。% P* }+ v% k: t( F" a1 R
缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。
9 q/ K/ V+ C3 a1 o: q5 o, l8 v% J
官网:http://www.st.com/en/development-tools/stlink-v3mini.html4 a6 x: Y: V& @6 y% y
) y) f" v! |& Z/ D% d9 V
就是它:: o" I# M' d* O* `! G: n
p.jpg
1 p$ ]% Y; e6 Z8 L8 `
# N7 }: O$ t# o5 _' z) X- [改造后:留意我加了一条红色的连线。
, R7 Y+ R  q4 |$ Q' U# w IMG_20190831_222637.jpg * A: l: N) e$ R* X7 E$ N0 w
IMG_20190831_222702.jpg 4 V% Q# r; C& @+ [, V
1 C" @1 y  c: Q8 T* ]
从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。2 r+ M9 I: ^9 V3 Q2 J: H
+ X7 e; w- ?6 {/ Y$ G* w
后续可能的发展:
4 w' k9 ^- h5 ^2 ?5 r1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。- |  V5 {$ ?2 E6 r

* F2 C& }$ s$ [7 B% C6 A; ]2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。
3 Q- I7 \% J. D
5 b: J  b! R* Q. L3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
9 B/ b* G0 Z* \+ N6 ?4 A) E) n' Q# S( t! v' X. ^/ r0 Z
4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。
. q+ N1 U! d+ U2 T, L0 ]3 z6 M$ g& Y- u7 X0 i. \& H
2919-09-22更新,CMSIS-DAP源码,见附件。" T& w! F- D1 R
重要的一张图,花了我很多时间才搞出来的:
7 e8 ]0 C% S" K7 H) C2 \ STLINK-V3MINI_GPIOs_v4.JPG 7 X" ?9 o# x1 ?& R
# X  |7 I& C- i# U
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。
5 G' ~0 t( ~$ o1 X$ ^  v
& n( N0 Y/ @/ Y. u1 v+ [另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。
# o! z/ l/ C& Q; S% G4 c; G
7 `4 I8 Z, F, Y' o$ wWinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
+ n: c# L- Z/ a6 Y* G WinUSB Device.jpg
* H0 `. q# Q* ]4 v2 G* a5 Q7 ^0 m7 p6 T
6 y8 `. H: D  O8 O
还有许多方面可以玩的,比如:
' A/ }( a% ]. w" U - DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。
- e. c; C9 T- O$ D - Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。& f, v9 c0 f2 g1 ^$ T" A- r! ~
- 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。
/ G  J1 @$ Q  u; k1 M - 还有......我们有512KB的Flash,能做很多很多事情。" O: V4 L- Q. J2 R$ c) i

: l/ B( `1 Q3 I- R- _+ F硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
) t2 R# S, ]; q( z# F3 j; `0 w如果真的自己做板,千万别照抄,可以改进的地方很多。
9 t/ X% n2 B+ z$ a3 v+ ~
2 A3 H. P8 Q7 \: y$ i CMSIS-DAP.jpg   _0 ^0 \1 @4 q9 x, p
7 z) }" B3 a; Y+ H, A. \2 ^8 ~

& l0 t, S: y! v. @3 d& t重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)
7 H* ~7 I: q# p# B9 Y0 s( g; n/ a- O# Q& p; f' k+ X: n2 C4 h

" j3 f7 V, v' z  C$ u) |(以下内容与35楼相同,方便大家)7 l9 f: R1 ~2 q2 ]6 l. ]. Z
关于DAPLink的思考,
8 Z( `& U' j) b 由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。$ N: G( e9 A  ?9 m$ h

; Q7 L8 W5 u! r! |' d. }- U8 UDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
# j* {& }0 P$ B0 e5 f- W7 M7 r+ M% E. b, }) p
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。5 Y6 C5 ^8 F& o) g- I2 Z

: K3 m# C# \5 P/ T7 y7 i2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。
9 O# X2 R/ ^7 _
) h( L& ~- }" b3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
! I- h- T6 G# J; S: B
  O$ G2 Q" }. A( U; y4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
9 O$ L, E2 b- D8 N" c& U/ X! O5 v+ t- \
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
  P. O" \3 n- B8 S- F2 x 顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
. G7 F( ^0 e0 f9 h; c: ?( U" s% a5 c
" ^/ J0 M2 Y# S3 s/ r' ?8 k8 Z

7 R( A0 V8 A) e7 U  D2020-07-10 一个好消息,还有一个可能的坏消息:
: s5 m2 S. Z" _" e好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。
# H! k& m  C4 K' Q$ o建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
$ }2 b2 h! \2 R" k  f# y0 O1 _坏消息,最新版的STLINK升级软件,en.stsw-link007_V2-36-26,只要一使用来升级这个V3的固件,立刻就会锁死F723的SWD口而不会有任何提示,此后,这个升级了的,就只能通过USB-DFU的方式刷CMSIS-DAP(见上面说的YAB)和恢复V3,不能使用SWD口来调试F723的开发程序了。老一点的版本还不会有锁死的问题。可能的坏消息是,如果将来STM厂家生产出来的STLINK-V3MINI都是锁死SWD口的,那样我们就很难用来干别的什么了。希望STM网开一面,出货时不要锁SWD口。现在市场上的可能是最后一批。$ Y* M! s. m' U; h7 R( [; D: R9 O
) h7 y+ N9 C- @% v9 j

; a/ H0 [7 l  V$ P下面这个附件是最新的,与github一样。+ Z) P6 w$ _6 t, Y( t

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的思考,
" h1 p' J) M  T# x% Z. v- @由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
# T" ^8 }& d- d/ q; x( H6 z/ C( m" b8 ]0 x
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
/ e8 a9 S! Y$ R: ?" K( |6 b
/ N' [( C9 A: r; S" }+ F% W. w# B/ }1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
# M% I7 u5 @( s" d
4 j' Y# H9 ?3 y+ F2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。  n+ t5 g% h; ~; D3 `% P5 y& f; I
& a+ ~; x5 H2 d) l8 D) [
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。: T) B' W! m4 k9 y7 e

  v0 b4 u7 C  ?: Z4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
7 E6 r8 g& p6 z" n
1 W; I" K" c, W' h! b% a8 Q
, _' _& V$ X  a% `4 j所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。7 i0 Z; x" K& @! D4 N% }
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
/ `" S( e% U9 N$ t  d& q# a/ f" `
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:8 F7 y9 {* \0 b
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。' r/ \1 ^" Y0 F2 C8 `, T
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。
8 V9 s4 j. t& _0 j: D-/ [# s* |0 X$ i& |: r  F

9 _6 Y7 c* O. I& f( e& R坏消息,最新版的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, f, `: h6 n) k! o* I: A4 c
cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。7 O' f* ^& `8 m. p4 w. V
7 A; b4 H- ^/ o. I# R; o* C8 A
daplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。 # q3 z, J2 t0 r5 k) w3 L- o2 F1 O& j
daplink主要是给没有自己的xxLINK的IC厂家做开发板用的。4 i6 G; A. _* h$ E" e" @
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:5 j/ k6 ]3 |  t( p/ n
1. MSC拖拽下载目标板程序。
% H2 c8 g" C, E0 d3 A! W2. MSC固件或Bootloader更新。, T! ^" X) M5 R7 o& x8 {5 |% J2 {$ D
3. 有的可以实现WebUSB下载。9 o: e# t% `" b* c$ }) Z: ]8 s: p
4. 有的可以实现WinUSB高速通信。/ Z0 I8 B* G+ O( v' e# U
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。5 D, H8 k+ s) X4 ^
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50

  w- t; p* I9 Y" D这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。
. a) i# W6 x# r2 S! n9 p! K- t---------------------------! |- l. ]  s, x% X( g6 g
淘宝搜了下,有两家卖的,价格在130左右。
; L/ I! V9 U( u. q$ l* ~stm32f723价格在60-70元?也太贵了吧。! V; V: S2 N( K/ M  X
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
% V3 h  F+ z4 B6 m; s" _* E0 x/ e% y这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

4 G4 Y4 W1 ^. X' R3 t您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
7 ?6 j, T9 }0 ]) Q竟然是半孔板。2 w  b# b/ `( ^0 v3 g
---------------------------1 t2 e) T; R/ |* G- `4 `
淘宝搜了下,有两家卖的,价格在130左右。
3 W9 X+ [5 U$ a8 s" T& W9 X
TB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04/ \# f$ n0 w* M; J# i
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

* q* W$ O$ n: r有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26( Y7 H7 M1 G2 D5 J" E/ s4 {
有的,发过

' P$ J/ e3 X; H' u8 W* ^% T找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:148 \4 F9 p/ ?! L4 u+ I
能支持其他家的芯片吗

8 u4 z$ x$ A8 S. Y+ i. ]% _! _改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.
* f1 g, u. s" a1 a' S/ I# G. x1 ^可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。% Q3 E" \# r* Z+ h  Z; u, \9 P- o7 \

! S6 H% G. t1 M# |6 |( o/ p% E6 m) {- j
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
& K) R5 |3 _% U& t$ o3 {周围一圈邮票孔,是不是意味着还有其他用法?
4 u+ C, H$ t& |- u# g0 u9 ]2 w1 J
正是!1楼有写。
radio2radio 回答时间:2019-9-13 10:14:41
2019-09-13 预报: 基于这个小板子的【高速CMSIS-DAP固件】已经接近完成,正在优化中,敬请期待。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版