
2018-06-30重要更新,附件换成了源代码。+ n0 |: f' _5 W' z3 R, D 2018-08-17更新,增加了JTAG模式,新板代号STLINK_V2B,虽然JTAG模式少有人使用。 2019-05-18更新,网友3NVN移植成功DAPLink,又多了ARM-MBED功能,拖拽下载。3 v3 B! s5 i- N) R 2019-12-24重要更新,速度提升,功能不变。( O4 B% G) G0 ^1 B) M & q, X4 |: d, E. P1 v 附件源代码的github:http://github.com/RadioOperator/STM32F103C8T6_CMSIS-DAP_SWO: f' q$ ^( o0 L, v3 z! b* w : r/ c3 ]' c2 m; L- G7 }' | ----------------------------------------------- 为什么要改CMSIS-DAP / DAPLink,也许只是好奇。% [' }- Z7 _8 I% I ; g9 |3 R0 {1 ~: F* c$ {: w" D: l- C4 S 2018-06-13更新,实现了Cortex的软件复位功能,即不连接RESET线也可以使软件下载以后自动运行。4 O: R; g8 B4 q7 H; }. l& p$ z+ A TB上面ST-LINK V2仿真器,彩色金属外壳那种,包邮还不到15元。我买的才12元。 如果要使用SWO/CDC功能,可能需要自己将有关GPIO线接到外面:' l `$ C- e/ Q) Q/ S SWO ------------- PA10。 CDC -------------- PA2_TX / PA3_RX(USART2)。 -------------------------------------------------------------------------------------------------- , c6 ^: }$ V n# `/ X 上网一查才知道,原来STLINK-V2,有许多不同的克隆版本,外观几乎一样,里面可能有很大的不同。 下面是其中两种: ![]() ' c8 G# m5 S, | z: A2 z 而我花12元买到的比较新的,最坑爹的是U..QFN..封装的IC,太难焊接了,比较欣慰的是这个板子用料足!!(有ESD保护芯片,还是两片) v, i3 G: q6 A# L$ k ![]() 下面把改装的情况,用图片说明。4 w) c$ d! ^1 ?& e& P* @$ _ ![]() ( q. M: j) @& I9 Q% Y ![]() ![]() & G( n3 O( X( Y; U- I0 T 我的这种板子,或者类似的,在我的原码包里面,给个新的代号叫做STLINK_V2A,STLINK_V2B,以便区别各种各样的V2,V2-1.......( r: Q! ^* i* I 1 J0 O# k$ [3 h. H' ?9 O, ^- E- R 严重注意,以上图片中的PCB板子,3V3和+5V的两条线是独立在PCB的两面的,很容易分开使用,特别是改装STLINK_V2B的带有JTAG模式的。 有的STLINK-V2的PCB,3V3和+5V的两条线是PCB内部过孔连在一起的,不容易独立分开,遇到这样的板子,就要想想办法。 + c* j4 R$ u9 e" ?: R8 f 3 `; |5 c7 r0 e, q8 ]3 Y |
STM32F103C8T6_CMSIS-DAP_SWO-master20200509.zip
下载3.48 MB, 下载次数: 709
今天又有改进,复用了原板的SWD/SWC接口线,这样看起来更像“真家伙”。 特别是只用4条线的时候。8 J0 r( V, Z2 V
' g7 j$ p+ v, J1 n
重新下载程序时,需要将【BOOT0】跳线短路到【1】,断电后,再插回【0】位。
参见一楼附件,可以试一试。
测量一下USB的D+线的电压,有没有pull-high。
如果是驱动的问题,试一试附件的驱动:1 f7 R' Y' N3 T% U; m
Windows-USB-Driver.rar
2018-6-13 11:59 上传
点击文件名下载附件
796 Bytes, 下载次数: 297
也可能与硬件有关,SWO信号是走UART的通信协议的,几百KHz以上的时候,UART的信号极易受到干扰,如果发生接收错误,就不会再重新发送,只能放弃一个或几个数据包。
坊间许多开发板,都是IC脚直出直入,没有加比较靠谱的信号抗干扰/整形电路,这一点,你看看J-LINK V9的电路图就知道,人家的各种信号线上面都有小IC以及各种电阻电容外围零件支持,而我们的简化方案仅仅是做到逻辑原理层面的正确,自然就会可能出现各种的不稳定。
我在测试我做的DAP时,就遇到过一块干扰很大的开发板,直接会导致SWD连接时断时续,后来我把并排的杜邦线分开单线,相互距离稍微远一点,才勉强正常工作。用示波器一看,波形惨不忍睹。9 D j* ?0 R- d" M8 V- x' W
建议,除非万不得已,使用较低一些的SWO速度,比如500KHz。
再就是,SWO使用过程中不一定需要一个数据不漏,偶尔缺少一些数据,不影响正常判断程序的工作情况。
刷到STLINK2.0版本,提示无法识别的设备,可能是什么原因?; w+ Y6 O- k l& u4 [0 Q3 R
操作系统是WIN10。; v0 {# I0 i6 Z3 j9 p- l
用了其它版本的固件也不好用。
; F$ Y; q' G9 D) j0 w" c
多谢楼主,我这就试一下。
D+ 3V
设备管理器提示:未知USB设备(设备描述符请求失败)。
更新驱动也失败。
这样,建议不要试了,不如找一块BLUEPILL小板试一试,更好玩。 我昨天又搞定了软启动。
好的。我试试这个,哈哈。多谢楼主。
用blue pill试过了,确实好用。怀疑可能是硬件什么地方没搞好。
好的,收到。我看CMSIS的原程序好像也是用SW线。就是这样的话,SW线就变成普通的IO口了吧,之后下载只能通过ISP了吧。
不是的,如果不用这个BLUEPILL板来做CMSIS-DAP,就不需要使用SW口。 GPIO线太多选择。: R3 n# V6 K- U, l2 ]
原程序都是用其他GPIO的。
0 b: y. ]* }5 q1 j! T
下载时,使用BOOT0和BOOT1线,使MCU不进入用户程序,SWD口就可以用了,不一定要使用串口或DFU下载。
嗯,说错了。是CMSIS-DAP-STLINK的代码。
使用BOOT线的技艺,学习了。看了数据手册把这个这功能忘了,多谢楼主。