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

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

[复制链接]
radio2radio 发布时间:2019-9-1 14:04
2019-09-22 源码发布,同步github,拷贝见附件。期待同好一起改进,很好玩呀。
1 a  n5 F4 D% c, B4 O2019-09-29 更新,WinUSB+VCP做到了,和DAP v1+v2共存版,即是WinUSB与HID同时有。3 o3 r" ^$ J5 R, h
2019-12-22 更新,SWD clock 达到18MHz(最大)。* v3 `" M4 J# s" ?2 q
2020-07-10 一个好消息,一个可能的坏消息。(见1楼底部)。
5 q( W2 e2 c) F" L  J* q: p0 G6 N2020-07-25 新的Bootloader已经完成(YAB),可以在不破坏原厂Bootloader的情况下,刷CMSIS-DAP。甚至可以刷入两种版本。
4 I( O6 D; m, z  E6 T/ @如果想用回STLINK-V3,随时都可以再刷回来(小心,最好不要升级V3J6M2及后续版本,会锁死F723的SWD口)。' f2 f" @1 C0 F2 a

7 j' F# V) A4 e2 _, F# k: h  Khttp://github.com/RadioOperator/CMSIS-DAP_for_STLINK-V3MINI& y* s8 Z# K3 q( P/ X

4 c' X- p9 X! p# sYAB:8 i: R" U4 ~7 J; e* s
https://www.stmcu.org.cn/module/forum/thread-625998-1-1.html
4 x1 w9 Y- b7 s- f# Ehttp://github.com/RadioOperator/Yet_Another_Bootloader
; U& L! o& a8 Y
9 ~+ _0 V+ Q$ K$ c人生贵在折腾。, ~& V7 Z1 j1 u- u
ST公司推出了STLUNK的V3版本有一段时间了,全功能的V3有点小贵,300大元左右吧。偶然发现新出的STLINK-V3MINI小东西,具有我最常用的基本功能,价格便宜(标准价不到10美刀),果断出手,现将初步的使用情况和思考分享一下。
4 U( _% X9 `7 R/ |9 _) Y- r+ T' ~0 k: ]
优点,USB2.0高速接口,比上一代V2,速度快很多,SWD/SWO连接速度可达24MHz,VCP的速度15MHz。 (留意,烧录IC的下载速度还取决于目标板的MCU速度)。尺寸超小,PCB只有15x30mm。1 `, ~: n, G8 x" r4 d" J
缺点,只有1.27mm的14pin连接器插座,这对于我们习惯于使用杜邦线的,不方便。没有3.3V电源输出。被迫小改造了一下。2 U# M; f7 H. \+ L$ P+ h& c, Q4 ]

: v5 {/ V5 y2 P) E. D) V3 f) W官网:http://www.st.com/en/development-tools/stlink-v3mini.html% Q4 o* S. p. Q' ]. _8 S

" g9 D) x) x% t6 p5 W/ y6 @* F就是它:
- f$ `! n, b+ ? p.jpg
/ H- Y' x& D2 f$ w# K
$ h/ M9 {5 s4 |( B1 Y' o改造后:留意我加了一条红色的连线。4 R$ b9 T' {  u; n3 y! A3 E
IMG_20190831_222637.jpg
. \$ @, i8 a$ g  t' i IMG_20190831_222702.jpg
4 O' h# Z  t) x& r
9 J1 z1 T" X, T从我实际使用的情况看,这个V3虽然是USB高速接口,也和其他具有USB2.0高速接口的仿真器一样,高速的优点并不明显。特别是大家常用的小IC,ROM不大,内核速度不高,V2仿真器足够使用,价格还便宜很多。 但对于ROM大于512KB的大型应用,应该能够提高工作效率。
/ |6 L, U# M# A6 L& t4 ^) L/ J1 z+ y1 n
后续可能的发展:
0 h) c1 P' A5 L8 U$ Z2 o1. 暂时还不能转换成J-LINK,Segger的转换软件还不支持,以后有没有不知道。
! p# e! v7 Z" V% w
: y) y9 n' F& S9 Y2. 二次开发,主控IC是BGA的STM32F723IEK6,216主频(据说可超频到300MHz以上,需散热),512KB-Flash,256KB-RAM,内置USB高速接口等,在外接器件要求不多的场合,可能可以用来做核心板使用。" _0 A: }; G. `+ t# a

$ ~. ]8 G9 H0 @2 x1 P8 ^4 ?0 u3. 二次开发,改成高速USB的CMSIS-DAP / DAPLink仿真器,硬件是现成的,以便用于其他厂家的IC开发。
5 K* s' _8 H" G$ V
/ _% r" W& g# ]* t, j9 m, t4 ?9 `4. 做成CMSIS-DAP以后,保留SWO和VCP(UART)功能,进一步还可以附带USB转 SPI / I2C / CAN / GPIOs功能,等等。硬件也是现成的,Flash足够你用。麻烦在于PC上位机软件,如果是专用的就没什么意思了。8 w5 r1 {. F+ D! [1 k4 m" _

5 l' n/ i( Q: H% Z% W+ \2919-09-22更新,CMSIS-DAP源码,见附件。
+ s9 R1 I! @* d, _) Z+ Z重要的一张图,花了我很多时间才搞出来的:& w) {: v3 W+ h% @6 m
STLINK-V3MINI_GPIOs_v4.JPG
8 s7 l/ y: a) H: I, M5 b& p$ b( A6 X' Q. C( J% ^2 N
CMSIS-DAP有两个版本,一个就是大家用过的HID版本,经常称为CMSIS-DAP v1,我的这个v1加上了VCP(CDC)功能。2 L; f+ F8 G! z2 ~8 t
8 L& h( ]* G1 D
另一个不太常见的WinUSB版本,称为CMSIS-DAP v2。与HID版本相比的优势在于它使用了高速的WinUSB数据传输模式。同样具有Windows免驱动安装的好处,目前主流的IDE如KEIL/IAR/pyOCD都已经支持,但由于高速USB2.0的CMSIS-DAP仿真器市面上并不多,还没有流行开来。% E  j# p* ^3 N5 {1 N0 U- `

8 q2 G$ L  W( k; R% C2 q2 p1 gWinUSB在设备管理器里面的位置,与STLINK出现在一起(我发现STLINKv2和v3,都是使用WinUSB模式传输数据):
9 }+ i+ K% ?4 `  R WinUSB Device.jpg 3 I8 p# ^5 ?% g) \4 z" X& W4 A
/ r: ]. J- o5 p  o, P' m
: j* X: d' C6 U' O' n$ u8 i
还有许多方面可以玩的,比如:
. H& m% W  q1 X+ a. G2 o* W - DAPLink版,有熟悉DAPLink的朋友不妨试一试,这个我不搞了,原因见下面分析。  G3 O* \  e/ @" N) s* d
- Bootloader,要做到USB拖拽固件下载。 这个已经搞好了(YAB),还衍生出“绿色”版本的,CMSIS-DAP和STLINK-V3,可以刷来刷去,全部USB口操作,不用连接SWD口线。
' N/ _% f. z' ^& ^& T - 更换USB驱动库,更换架构,比如基于STM32CubeMX的,等等。" T0 ~2 @1 C& O0 L  S5 f* [
- 还有......我们有512KB的Flash,能做很多很多事情。- E. m& j& d  N  G& B$ \
2 S5 y# k. O% j# ?( r# O
硬件方面,如果谁能买到便宜的IC,自己打板做一批,F723和F733都可以用,还有LQFP144和UFBGA176可选,TB大卖,别忘了送给我1块板子玩玩。
0 e" Q; {: t- W7 d, k( S如果真的自己做板,千万别照抄,可以改进的地方很多。. A/ X* q  Z5 U. t0 R+ L1 [

' U0 S. h  ^9 G) M" T# o CMSIS-DAP.jpg
. u3 s( \9 V* ^7 W* [8 Q+ m3 M
+ _0 L3 R- ?# p& D) Q  i' ?* y
& |. i6 R; F; ^重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了原厂STLINK仿真器的功能。 现在可以重刷Bootloader自行恢复STLINK-V3MINI(2020-07-10)& y( Z5 a$ ]2 l1 {7 n& c
& a9 }6 Y( ^$ e5 ^

& `; ]$ W$ G: z( ?# s  ?6 B& ?3 G(以下内容与35楼相同,方便大家)
. {- S1 `: x/ D( a% E8 @4 s关于DAPLink的思考,, j: @) D# W* J; s, Q- P) a
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。7 y" m  h: i9 J; s+ }
& d' u! `8 _" L3 ]
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
3 s6 B0 j  m. C7 k$ a& w( q! L$ o- ?- b
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。" Y7 E5 \: i) d1 \* Y

  ]( Y9 Y* ^8 O2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们码农经常使用IDE来开发软件完全不是一码事儿。( Y: k6 a- o8 X) q, S. M
1 D' C) [' }! o# M, ]: L
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK / STLINK / CMSIS-DAP那样在不同的IC之间转换。
" p! A+ X8 g4 w! }, E
: J1 X: o7 _0 \' V+ l2 U7 G- k# c4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。
7 r& x" h9 w: d% d- {; P8 k
: J' Q3 S, X& C* a$ n' p' S7 S0 V* ^: q 所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
! ^! J" X! h: X7 B) ` 顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
! h2 S& V) W6 {, r" Q- f

# h/ H( j: L; e' q/ r! g8 l) L

; Z& j  q. n3 _/ K2020-07-10 一个好消息,还有一个可能的坏消息:6 E# O4 W- H2 a$ i( `4 b
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。9 z4 d+ t0 a% Y5 t' r
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。7 v3 M+ v) @  \4 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口。现在市场上的可能是最后一批。1 i1 t2 w  Y! A) {4 W6 W

# z  m2 y8 L. Q4 z, h
& w6 f3 M! `8 |3 M
下面这个附件是最新的,与github一样。+ i9 u! p0 r1 R, a7 N& G

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的思考,: L) J) w! V0 M) P, k- t
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。
- n4 I2 F. Y$ w8 O4 m5 Q8 E
: ]9 m6 M0 ~; L6 b) MDAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。
' w: L2 I  {. D% s3 ]6 c" a1 W& L7 U" V* p6 `9 C1 z, I
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
1 _0 b6 A2 b/ b" R- n6 W: `9 o: W; O: e# q3 t! a9 P2 o
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。: H7 _7 m" ^' U

& ~. N3 P  V+ o$ Z* s5 i! Y* W6 i3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。% k% W0 w) y) o0 b/ N: l

0 j. m& a/ T* {6 M4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。" N0 r; O! e$ v! Z# X$ o
* E) J  X7 A9 u
# m; z! l& D; I9 S6 i; M5 T
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
; e) }: r' }# }" z7 y- O顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
$ X) b2 K5 |, R8 l/ J3 e: G- |, B1 W( \, `  D& s
radio2radio 回答时间:2020-7-10 23:00:57
2020-07-10 一个好消息,还有一个可能的坏消息:3 }5 [1 D* R3 x) ?- }
好消息,有高手已经倒出了原厂的bootloader,并且分享出来(github),这样就可以在需要时恢复原厂的固件和STLINK-V3MINI功能了。4 f; _  v) A; R( ~% w
建议重刷的网友,一定要用unprotected那个文件,以免不小心锁死F723的SWD口而不能再用于开发调试F723程序了(用作STLINK-V3或CMSIS-DAP,还是没有问题的)。) K, l1 R8 N1 \# w  B
-% r9 w: y- Q0 t2 S4 H, k
( n6 m$ ^1 f: z6 c
坏消息,最新版的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: y. J$ |. H+ E+ A. ]$ f) d9 B( _( x
cmsis-dap跟daplink一样的,就是代码里几个宏改一下就行了,硬件更是一样的,建议直接用daplink最新的代码 ...
CMSIS-DAP是各种ARM IC通用的,与JLINK的基本功能用途相似。$ x: D& Z: ^5 r+ F) }: R

. X" @$ V8 }3 t. K' zdaplink的固件,是某个系列的IC专用的,比如用于NXP的就完全不能用于STM32,用于F103的也不能用于F723。
& \8 D7 |6 }4 Q0 D  tdaplink主要是给没有自己的xxLINK的IC厂家做开发板用的。5 P' r- n/ X" b- v8 z
daplink的基本功能含有完整的cmsis-dap,下列功能是daplink专有的,是他的优点,也是他不能通用的原因:) C4 I4 W% v( e: O. j% U- H! |
1. MSC拖拽下载目标板程序。+ X/ h( Z, }& P6 _) X( {" s3 p" j
2. MSC固件或Bootloader更新。
! I" ^4 b- ~# j$ F+ v3. 有的可以实现WebUSB下载。/ q, p: y7 A  d8 G2 e1 [! S8 w
4. 有的可以实现WinUSB高速通信。( H( o& b  b+ [- V" L$ \7 P
如果仅仅使用daplink的CMSIS-DAP的基本功能,那么他实质上就是CMSIS-DAP,称其为“使用了daplink”也无所谓。
% i3 O  }3 ~# f3 @* ]
Kevin_G 回答时间:2019-9-1 18:42:58
很赞
mmuuss586 回答时间:2019-9-2 09:07:50
7 ]- J8 K/ a3 Y/ J$ `5 G6 {
这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的
any012 回答时间:2019-9-2 13:44:24
竟然是半孔板。
7 i* h% o! T9 g6 I---------------------------) \" E0 A2 g; a* T3 Y
淘宝搜了下,有两家卖的,价格在130左右。
1 Y' {0 G( O5 z+ c% @! Jstm32f723价格在60-70元?也太贵了吧。
4 _* F1 d# k- t2 w, [4 P
radio2radio 回答时间:2019-9-2 20:04:43
mmuuss586 发表于 2019-9-2 09:07
9 j$ c# C# d3 b* {! W这个没申请到;申请到了2块G4带ST LINK V3,还申请了了个ST LINK V3 TEST的 ...

( ]& g/ P4 z- o( g4 d6 H, o您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。
radio2radio 回答时间:2019-9-2 20:07:56
any012 发表于 2019-9-2 13:44
: o( f6 i3 g1 j( N+ r/ [竟然是半孔板。3 g% V" }3 N5 t, F7 |; }" i' _9 B% |
---------------------------
& i; I( \9 A% e  p, K! ~) O& y淘宝搜了下,有两家卖的,价格在130左右。

3 I- x9 S+ m. S: s; l! D8 QTB是很贵,他们一次进货几百个,慢慢卖。以后,多一点卖家,估计很快就会降到100以内。
mmuuss586 回答时间:2019-9-3 09:26:43
radio2radio 发表于 2019-9-2 20:04. G4 ]0 E, s8 g4 k7 q9 A' m* q
您手上的G4板,或V3test,有原理图吗,我在找STLINK-V3的原理图。网上没找到。谢谢。 ...

7 D: V9 f' v" x( y8 I- l- A有的,发过
radio2radio 回答时间:2019-9-3 10:44:43
mmuuss586 发表于 2019-9-3 09:26) e9 H3 F, ?& Q2 A4 ?4 Z
有的,发过

0 s! o! ~  b+ W7 Q5 m1 V8 x" a) x找到了,谢谢。
ersha4877 回答时间:2019-9-3 11:14:35
能支持其他家的芯片吗
radio2radio 回答时间:2019-9-3 11:58:55
ersha4877 发表于 2019-9-3 11:14
# t" M$ Z4 v1 B- }5 G' \* y能支持其他家的芯片吗
2 ?5 x5 D8 K+ N1 R- H. X
改CMSIS-DAP或DAPLink,就行。
radio2radio 回答时间:2019-9-6 09:08:04
重要提醒:STLINK-V3仿真器的固件使用了加密技术!!! 任何使用普通的方法试图读取FLASH内容的,将会导致FLASH清空,当然也就失去了仿真器的功能.0 c& j4 ?8 U/ L+ w* v+ G7 w
可以重刷原厂bootloader,恢复STLINK-V3MINI的原厂功能。
! z0 m  a2 H4 J5 H* K! Y( F6 v. i; @0 M' I- n. P. p) T8 H2 c5 |
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
* r3 a5 V1 \! O' _周围一圈邮票孔,是不是意味着还有其他用法?

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