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

【源代码】ST-LINK V2仿真器改CMSIS-DAP/DAPLink,带有SWO和CDC功能  

[复制链接]
radio2radio 发布时间:2018-6-9 11:52
2018-06-30重要更新,附件换成了源代码。. s5 t% O' d/ Z0 i5 U, T& ^8 R
2018-08-17更新,增加了JTAG模式,新板代号STLINK_V2B,虽然JTAG模式少有人使用。/ L% a1 b7 g* [! e: Q6 Y1 `! r  ~
2019-05-18更新,网友3NVN移植成功DAPLink,又多了ARM-MBED功能,拖拽下载。
5 U8 S4 c6 b6 o" b4 g; }: ~
2019-12-24重要更新,速度提升,功能不变。- E. \% w, n' j6 F
% X: C6 D& v% B* R6 Q
附件源代码的github:http://github.com/RadioOperator/STM32F103C8T6_CMSIS-DAP_SWO
5 I4 }4 n1 n! d8 a( w" v, S& h; H* y9 p& x
-----------------------------------------------9 x& ~) [, o! U: q
为什么要改CMSIS-DAP / DAPLink,也许只是好奇。' a$ `+ s9 Y% E9 X1 l

9 J! F. y$ p% H, V! I4 e1 l) F2018-06-13更新,实现了Cortex的软件复位功能,即不连接RESET线也可以使软件下载以后自动运行。* |1 x! p) d: `3 f$ B/ J7 z, Y: [- t7 r
TB上面ST-LINK V2仿真器,彩色金属外壳那种,包邮还不到15元。我买的才12元。9 S% _& B' ~& ^/ }
如果要使用SWO/CDC功能,可能需要自己将有关GPIO线接到外面:- c4 z7 h0 _$ B: b5 M0 w
SWO ------------- PA10。6 Z- |! M* H0 f! a  P
CDC -------------- PA2_TX / PA3_RX(USART2)。8 W6 r; |" b8 T
--------------------------------------------------------------------------------------------------9 K. p9 R3 |; A6 l3 @$ O8 r
7 D% o5 k% w. \) I; q9 W3 ^
上网一查才知道,原来STLINK-V2,有许多不同的克隆版本,外观几乎一样,里面可能有很大的不同。
2 {9 {8 v9 f% G( j& e下面是其中两种:
* n9 w9 r2 e6 C7 D+ r8 S3 H 00.jpg
& \& `+ `. `* l, g; ^: B% r* N. U2 i7 E9 O+ K# u, g

6 Y& m. B5 e/ T而我花12元买到的比较新的,最坑爹的是U..QFN..封装的IC,太难焊接了,比较欣慰的是这个板子用料足!!(有ESD保护芯片,还是两片)
, b; L* D$ ^, K 01.jpg
& }8 l+ X- ^7 G# O6 f
3 O% Y; L; E4 s下面把改装的情况,用图片说明。& @1 A7 D  b' `* ^+ ]7 e, G+ X
02.jpg
% Z, E1 [' K2 \8 a
' c3 b; m4 u7 P' b 03.jpg / e0 V- O% y& N  Y7 b8 J3 y
. k/ Q! q5 G0 f, e! \8 M3 P
Schematic(part) STLINK_V2A_V2B.jpg 7 d: |' S/ `- S5 q0 n5 r7 U
! ^1 c% Z% m* ^
我的这种板子,或者类似的,在我的原码包里面,给个新的代号叫做STLINK_V2A,STLINK_V2B,以便区别各种各样的V2,V2-1.......9 g( t: Y& m2 E) H: @+ n( a" x

7 `# ?" R4 X' k$ @7 [- Q/ T严重注意,以上图片中的PCB板子,3V3和+5V的两条线是独立在PCB的两面的,很容易分开使用,特别是改装STLINK_V2B的带有JTAG模式的。
) g. C5 G/ d. d( b) K7 s有的STLINK-V2的PCB,3V3和+5V的两条线是PCB内部过孔连在一起的,不容易独立分开,遇到这样的板子,就要想想办法。  y/ T5 V8 U. t- M) c
7 r5 @# p7 c5 Z4 f
& d  s! [$ W7 Z( T/ m
& b% l8 l* l, J) t
) a2 i1 P3 C- t1 M$ \* L# l5 d

STM32F103C8T6_CMSIS-DAP_SWO-master20200509.zip

下载

3.48 MB, 下载次数: 701

收藏 15 评论100 发布时间:2018-6-9 11:52

举报

100个回答
radio2radio 回答时间:2018-6-16 22:48:32
本帖最后由 radio2radio 于 2018-8-29 11:03 编辑
" Z, P$ a* l$ \
spmno 发表于 2018-6-16 15:307 G* J: \$ i2 d7 V! J  k
用blue pill试过了,确实好用。怀疑可能是硬件什么地方没搞好。
) _+ L) d% H6 V- c0 j) K
今天又有改进,复用了原板的SWD/SWC接口线,这样看起来更像“真家伙”。 特别是只用4条线的时候。
2 ]" R+ Z. V# c  f6 K+ H
6 O4 w' E- c* w& x. p$ ?! i  _9 k重新下载程序时,需要将【BOOT0】跳线短路到【1】,断电后,再插回【0】位。' ^2 G% h' Y. t# Y8 K$ e

% w. W' F3 b3 y5 C Pin_configs_1.jpg 8 M5 ]' t: }/ @9 D

2 t2 _+ ?" x8 v) d8 ?* l" X参见一楼附件,可以试一试。8 o5 {. v1 o; _& a
radio2radio 回答时间:2018-6-13 11:59:57
spmno 发表于 2018-6-13 11:50
, e9 A6 a& t; [( ~6 H3 X! f刷到STLINK2.0版本,提示无法识别的设备,可能是什么原因?# Z# A0 s3 N# [- y+ l2 c
操作系统是WIN10。
, s& v' a. H! y  a5 Z; d  H用了其它版本的固件也不好用 ...
- c+ P: L9 H: R+ a/ W$ T
测量一下USB的D+线的电压,有没有pull-high。
, ]" {" E: ^- t1 f: M, d4 h6 a# u; u' `2 c
如果是驱动的问题,试一试附件的驱动:% Z* U$ l. i- p7 e( K9 e9 k/ C7 Z
+ D$ n  X' x5 ~& P0 u

Windows-USB-Driver.rar

下载

796 Bytes, 下载次数: 296

radio2radio 回答时间:2018-9-14 20:34:17
zhousun 发表于 2018-9-14 19:41. E( ]6 C( Y' a4 d
好像不起作用,感觉不完全是软件问题,会不会和固件也有关系

9 u6 D! b8 R9 S; R也可能与硬件有关,SWO信号是走UART的通信协议的,几百KHz以上的时候,UART的信号极易受到干扰,如果发生接收错误,就不会再重新发送,只能放弃一个或几个数据包。
' j7 u6 i( _' s5 \' E
  I8 [3 @+ N6 e7 K! w坊间许多开发板,都是IC脚直出直入,没有加比较靠谱的信号抗干扰/整形电路,这一点,你看看J-LINK V9的电路图就知道,人家的各种信号线上面都有小IC以及各种电阻电容外围零件支持,而我们的简化方案仅仅是做到逻辑原理层面的正确,自然就会可能出现各种的不稳定。+ D+ W6 U0 H  f* I4 Y
% G" e: v4 t) S7 R5 m2 B
我在测试我做的DAP时,就遇到过一块干扰很大的开发板,直接会导致SWD连接时断时续,后来我把并排的杜邦线分开单线,相互距离稍微远一点,才勉强正常工作。用示波器一看,波形惨不忍睹。8 w! f( v+ [) R# I* J! U, B
# `' {% w; X* _) b2 y0 ^
建议,除非万不得已,使用较低一些的SWO速度,比如500KHz。
. c3 x) g1 l( S3 Z4 W, P5 Y再就是,SWO使用过程中不一定需要一个数据不漏,偶尔缺少一些数据,不影响正常判断程序的工作情况。
spmno 回答时间:2018-6-9 15:30:38
可惜只是固件,有代码就好了,呵呵。
jeeson196 回答时间:2018-6-10 09:14:50
谢谢分享
spmno 回答时间:2018-6-13 11:50:37
本帖最后由 spmno 于 2018-6-13 11:51 编辑 1 R4 X! I# ~& Y, x4 f) g

. D) @7 }; w2 c7 {刷到STLINK2.0版本,提示无法识别的设备,可能是什么原因?
( u. s; a# z) L% ^操作系统是WIN10。
3 h9 r; k* O9 x# B# }3 o) P, H8 z用了其它版本的固件也不好用。. V; v- w% A# @3 g5 b% b

+ g7 I, Y0 g8 M
spmno 回答时间:2018-6-13 13:22:28
radio2radio 发表于 2018-6-13 11:59# b, d; Q% P$ R! `% o# Y$ }; P
测量一下USB的D+线的电压,有没有pull-high。% a" ^2 b# b* m8 B) _" t

8 U, h4 }' z* A  P如果是驱动的问题,试一试附件的驱动:

: A: b) S7 E$ F多谢楼主,我这就试一下。
spmno 回答时间:2018-6-13 13:33:02
spmno 发表于 2018-6-13 13:22/ ]/ I6 ~" |; X/ }
多谢楼主,我这就试一下。
) b3 H8 {2 |* d# b2 H6 N
D+ 3V
* ^& N4 }, P1 g设备管理器提示:未知USB设备(设备描述符请求失败)。" }) S$ i0 t1 l3 p  C
更新驱动也失败。
radio2radio 回答时间:2018-6-13 13:47:11
本帖最后由 radio2radio 于 2018-6-30 11:09 编辑
$ Z) r4 F0 }, u4 {: w  X1 S; S
spmno 发表于 2018-6-13 13:33
7 |9 r6 P+ a4 M0 g; s/ ?& YD+ 3V
7 N7 h+ T+ `% v设备管理器提示:未知USB设备(设备描述符请求失败)。
; L& ~' Z9 ^: g5 ~2 \, n, O4 l; C更新驱动也失败。 ...
( @4 D" {& m$ e4 r
这样,建议不要试了,不如找一块BLUEPILL小板试一试,更好玩。 我昨天又搞定了软启动。
spmno 回答时间:2018-6-13 13:50:34
radio2radio 发表于 2018-6-13 13:47
& r1 U. e6 ?  p# P这样,建议不要试了,不如找一块BLUEPILL小板,试一试附件的程序更好玩。 我昨天又搞定了软启动。 ...
- r/ y2 a4 m' _; i8 o/ K) T8 X% k
好的。我试试这个,哈哈。多谢楼主。
spmno 回答时间:2018-6-16 15:30:34
radio2radio 发表于 2018-6-13 13:47
6 B$ X# M! j: B这样,建议不要试了,不如找一块BLUEPILL小板,试一试附件的程序更好玩。 我昨天又搞定了软启动。 ...

% @0 I% ^7 v; M* G2 C! W2 e; k4 J用blue pill试过了,确实好用。怀疑可能是硬件什么地方没搞好。
spmno 回答时间:2018-6-19 10:53:08
radio2radio 发表于 2018-6-16 22:48
6 U/ _# b" J: R# X2 B1 G今天又有改进,复用了原板的SWD/SWC接口线,这样看起来更像“真家伙”。 特别是只用4条线的时候。
% B# I. a$ c6 \+ }9 v% G  S. [3 P; P# ?* M; Q2 D" S
重新 ...
. W8 ^! x* ?' z" t
好的,收到。我看CMSIS的原程序好像也是用SW线。就是这样的话,SW线就变成普通的IO口了吧,之后下载只能通过ISP了吧。
radio2radio 回答时间:2018-6-19 11:50:00
spmno 发表于 2018-6-19 10:53
6 ?" z% Q: _, M, K- g" K好的,收到。我看CMSIS的原程序好像也是用SW线。就是这样的话,SW线就变成普通的IO口了吧,之后下载只能 ...

' Q0 v  Y8 r! a9 Q* E不是的,如果不用这个BLUEPILL板来做CMSIS-DAP,就不需要使用SW口。 GPIO线太多选择。/ S9 R+ r  w3 d- q+ ~
原程序都是用其他GPIO的。+ H( k, ~& o7 m# ]; w" L7 N) X5 ~. q

3 [3 W! V3 y/ U下载时,使用BOOT0和BOOT1线,使MCU不进入用户程序,SWD口就可以用了,不一定要使用串口或DFU下载。
spmno 回答时间:2018-6-19 13:48:30
radio2radio 发表于 2018-6-19 11:50' d( u3 \- D8 H3 o$ t' s- }4 H
不是的,如果不用这个BLUEPILL板来做CMSIS-DAP,就不需要使用SW口。 GPIO线太多选择。
6 K( |3 q, O" d原程序都是用其他G ...

4 Y8 r# r7 S: A% ~% M9 J- V嗯,说错了。是CMSIS-DAP-STLINK的代码。
( R' H. M1 _% c& H使用BOOT线的技艺,学习了。看了数据手册把这个这功能忘了,多谢楼主。
电子星辰 回答时间:2018-6-19 14:08:09
有意思

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版