继续和大家探讨廉价仿真器,本期的重点是STLINK-V2硬件,有4种提升性能的方法。 TB买一个廉价仿真器STLINK-V2,大约10元左右,就是这种,有多种颜色的外壳。1 n! B8 `3 w* }' f- i 受割开中大神的帖子启发以及有关固件,我终于成功将这个STLINK-V2手指: 1. 升级到V2-1,有了CDC功能和SWO功能,速度提升一倍,U盘不知干什么用的。或者, 2. 升级到J-LINK-OB,有了CDC功能和SWO功能,速度提升一倍,享受J-LINK的性能稳定。或者,9 ?2 z7 Q0 m1 e9 d* R) E% V 3. 升级到CMSIS-DAP,也有了CDC功能和SWO功能,速度提升一倍,可以用在非STM32的IC上面,也很不错。! A* Y' e9 Z0 _ 4. 升级到DAPLink,这个除了包含CMSIS-DAP+CDC+SWO,还有了ARM-MBED功能,并支持拖拽下载。 10元呀,10元呀,10元呀,重要的事情说三遍! 绝对比自己做板子值得。" h" d% {. W) C- e" P ; q( g/ O% l- f S \+ G 废话少说,先看看下面的性能对比表:, p& X) H; U. _- x; ` 怎么样? 动心了的吧,还不快快下手。* y0 }* E3 M2 n; l$ Y! Y 重要提示:$ N- q) S0 o8 s( Z. } 坊间的STLINK-V2仿真器,外观一样一样的,里面的板子/IC封装可能有不同,同名的引出线的位置也有可能不同,建议买有10条引出线的,就是有2条3V3线 和 2条+5V线的这种,线多容易修改。 2 b4 n9 X9 n( s. u$ a) u6 G. P3 c 我就在同一家店买过两次STLINK,两次收到的内部IC是不一样的。 有关IC,改V2-1和J-LINK-OB需要128KB的,大部分印着STM32F103C8T6的,也是内部有128KB FLASH,我买到的就是这样。如果不幸买到了真的,只有64KB FLASH,那就只能用在改CMSIS-DAP上面了。. } h5 E6 p% P4 D 小心,最新网友测试发现(38楼~),如果买到的STLINK是用STM32F103CBU6, QFN的IC,这种就改不了V2.1和J-LINK-OB,只能改CMSIS-DAP。这种IC的板子,暂时还没有可以刷回去的固件,我附件里面的V2固件,据说也不能用。 一旦擦除,不能复原V2,只能用在改CMSIS-DAP或者DAPLink了。 要完成本文所述之DIY,需要会STM32的刷码,方法可能有很多,你的方法行不行,自己试一试。(我是用J-LINK + JFlash or JFlashLite刷的。IC选择STM32F103CBT6不带option bytes那个。起始地址是0x08000000)- m# s) p$ n1 M* E 0 |7 f1 n' `4 c: U. F+ F/ j8 A 下面简述DIY的步骤,一部分软件的使用情况,请参考割开中的帖子:8 f) b2 X! ~7 }4 x0 Q4 [9 M 1. STLINK-V2改V2-1,尝试刷附件中【2.STLINK-V2 to V2-1】里面的固件,版本号V2J28M18,如果成功,说明IC是128KB的。如果不成功,就只能改CMSIS-DAP了(见下面第4步)。 2. 用【3.STLINK-V2-1 Upgrade to V2J31M21】文件夹里面链接的CubeProgrammer软件,可以升级到V2J31M21最新版。注意,使用这个软件的时候,可能需要多次插拔USB手指,软件才能找到V2J28M18。/ I: L& o* E @6 e7 D% x 3. 如果想刷成J-LINK-OB,请使用【4.STLINK-V2-1 Reflash to J-Link-OB】文件夹里面的软件。注意,使用这个软件的时候,也可能需要多次插拔USB手指,才能成功。1 G9 ?' y n8 s" D% ?3 {* l, g0 [ 4. 如果想刷成CMSIS-DAP,请使用【5.CMSIS-DAP_Firmware】文件夹里面的固件,刷写方法同第1步。这个固件是有原代码的,有兴趣的可以研究研究。9 g7 l# F* r7 o3 L! N 5. 如果想刷成DAPLink,请参考3NVN的帖子:移植DAPLink到STLink->CDC串口-SWO,留意10pin连接器引脚的定义。 , E& h, z- ]$ O8 v 6. SWD调试功能测试,完成上面的3种之中任意一种之后,要使用Keil软件连接一个目标板,进行一些SWD调试常用的操作,测试没有问题后,再进行下面的改板动作。 7. 电路改动,为了要使用CDC/SWO功能,就要改动电路,把相应的连线接到外面来。一共需要改3条线,看图说话:! n, r1 e: D: W4 e% }4 O4 F- B 注意,我的这个STLINK-V2手指,3V3和+5V线,底板上下是联通的,不容易分割开来,所以改动以后+5V改成SWO就会有两条,本来用一条线就可以了的。如果不使用SWO,+5V线可以不动。如果可以分开+5V/3V3的两条相同的线,就可以保留原来的RESET线,RESET线的功能也是有的,参考下面的链接2。电路改动方法,要根据您的手指的实际情况来决定,我的方法仅供参考。 总之是要将PA2/PA3/PA10三条线接出来,您尽情发挥好了。 2 A/ o2 L4 t3 |( N& g 好消息,如果使用旧版的JLINK驱动(V6.12j 或者更早的版本),此STLINK刷出来的J-LINK-OB在MDK里面可以使用于非STM32,比如NXP......参见本帖第21楼。 另外,在安装了V6.12j驱动后,刷码软件JFlash不能用(弹窗),但JFlashLite可以用。可能是因为是旧版的JLINK驱动,此JLINK-OB只能用于一部分型号的芯片,解决办法是刷解码后的JLINK-OB固件(F103用,网络上面有,别问我)。 (已经更新附件,里面含有JLINK驱动(V6.12j))。0 M4 F- e2 A. Z& C- M 其他参考贴: 1. STM32各种调试器大合集 2. 移植DAPLink到STLink->CDC串口-SWO. n! M6 H: z$ Y/ k 3.【源代码】ST-LINK V2仿真器改CMSIS-DAP,同时带有SWO和CDC功能1 z9 ] @, N; C5 c 4. 【源代码】STM32F103C8T6最小板搞定CMSIS-DAP和SWO功能7 j6 F% p. _+ k1 L % Q7 O* W- G( w7 x( ^) z 4 r: F5 B* ~) a 0 }& a+ W: a. e% u( T4 v |
连接L432(M4)、F429的板子时则会显示SWD/JATG Communication Failure(通信失败),. X- i/ ?% W( Q8 ]+ |
不连接任何开发板时也并非显示为no target,同样为Communication Failure。我想请问有人与我有同样的情况吗,大家的C8T6转CMSIS-DAP之后使用一切正常吗?
0 J2 Q+ k5 t0 X* v' b! q
' Q3 R) R" m% Q! w3 w7 ~& d
" ~9 l& o1 \1 u0 |: _) u
刷回ST-LINKV2时是可以正常下载的,也就是说L432、F429的SWD是没有关闭的。! |( U- A# S; S# o# S* w
+ l1 u' D2 D! M4 W
另外,发现用CMSIS-DAP在CoFlash下下载2.STLINK-V2 to V2-1固件,如果选C8T6的话,会提示错误,如果选CBT6的话,会把C8T6锁死,用ST-Link V2在STM32CubeProgrammer下连接后会自动识别为103x显示128KB的Flash,可以下载2.STLINK-V2 to V2-1固件,不过在升级V2-1固件时会提示空间不足,看来真的只有64KB啊!) h0 D6 m5 T' ^# t0 P5 T* r
前面锁死后,用STM32 ST-LINK Utility无法解锁,连都连不上,但在STM32CubeProgrammer下可以解锁。: z2 U& }6 }- e& }3 b
参考82楼的flash地址,试一试用STLINK工具软件的查看内存的内容,应该可以看到。
实际上,您用v2.1的固件直接写flash就行,如果是128KB的写入正常,64kB的就会报错。
如果您要用普通的F103C8T6的开发板,改成STLINK-v2.1,有点麻烦,您需要对照v2.1的电路图改线路,有几条GPIO要用电阻连接。; l1 k. ~8 x% G. Q
还不如买个新的STLINKv2来改。
% {" k4 K; ?8 @0 L8 j
! \/ x# _; ?; Y0 t+ \7 ^
不好意思,【图3a】和【对比表】的位置有错,容后再改。 (改好了)
是呀。 就是体积大,但是速度快,价格可以接受。我也有V9,刚刚买来时是可以自动升级的,结果我自己瞎折腾刷固件,结果现在不能自动升级了,虽然不影响使用。
其实,我现在最常用的就是自己做的这些10元手指,烧坏了也不可惜,主要还有携带方便。 V9成了备用的。
8 m/ }- |4 }0 U5 {9 Y9 c, ~
比V9好的J-LINK,就是新出的V10了,很贵,使用USB高速接口。我还没有使用过,不知道是不是真有优点。
这您不需要改了,花10元钱再买一个STLINK-V2,STLINK-V2原本就是可以用于STM8的吧,买回来就能用。7 |5 f* q+ J8 r- `8 B. }
您的Jlink-OB,是只有SWD的4个引脚那种吧,需要外加几个的引脚,不好改。
价格也是
6 R7 P( V2 B: K7 J( V# r. K$ P
不过DIY的话,做什么都是要支持一下的。4 v6 L- v) K: t* A& @& q9 ^
果然不好改,不过我还有多余的STM32F103C8T6最小系统板,那个应该可以改
F103最小系统板,可以改CMSIS-DAP用于Cortex IC,但是,改成STLINK-V2用来烧STM8就麻烦了,有几条线要连接。" C8 ?& I: o9 G; z8 Y
如果您是要STM8的功能,还是建议买一个STLINK-V2,或者STM8专用的,也不贵,别改了。