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

STM32各种调试器大合集  

[复制链接]
割れたリンゴ 发布时间:2018-8-6 09:14
本帖最后由 割れたリンゴ 于 2019-2-21 19:20 编辑
0 z7 N4 d! F/ c* Z( ]& i
$ D. n; I2 V* U7 Y! ~: M
资料列表3 P% O& k6 ^, N- A! V, _
  • CMSIS_DAP
  • JLINKV9
  • JLINKv7
  • JLINKOB
  • STLINKV2
  • STLINKV2-1; t: `0 ^7 a! A" `

    # {" ]. e$ O; m, `2 n
具体请看github项目地址,内有firmware工程和AltiumDesigner工程
$ D& r! u7 z  J. l6 a" }, R0 _下图是最近做的CMSIS_DAP金手指版本
( q4 F; Q* Y* V9 {, ~/ \

这个是把某宝D版STLINKV2刷成STLINV2-1(带虚拟串口/虚拟U盘)
* r+ h! G' C  n3 X6 {

4 y, q3 V- g: r4 W5 Y
. I8 W. |; v) m2 N7 S6 d9 {0 i
赞 收藏 16 评论36 发布时间:2018-8-6 09:14

举报

36个回答
割れたリンゴ 回答时间:2018-8-7 22:28:30
本帖最后由 割れたリンゴ 于 2018-8-7 22:45 编辑 ! Q# b& Z9 D, W' T: _+ H! {# ^, ^
割れたリンゴ 发表于 2018-8-7 21:075 q! T, K: E" `6 V
segger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
% j8 e: ?6 T; ~2 U. o
咳咳,刚才操作了一波,搞得我有点蒙(stm32f103c8t6究竟能不能升级成stlinkv2-1),看下测试结果把我用stm32f013C8T6(bluepill)最小系统板(有usb)做的测试  C; d) F$ j8 [2 X: y9 w
第一步,将stlinkv2-1bootloader刷入c8t6 刚刷入固件.png
: {% F+ p! _0 [0 t0 r奇怪的是这个居然有虚拟串口,而且还有虚拟u盘弹出来,之前我用c8t6试过,刷入bootloader是没有虚拟串口和u盘出来的, {' L5 _" i  A% Y2 \( ^  N
赶紧用stm32cubemxprogrammer试一下能否升级stlinkv2-1
$ k% |* G, R* R# v: [( g6 S% c果不其然,可以!!5 X2 n( \( e( X% z
插上电脑(无固件).png & |( ^7 w. q+ c/ L/ D+ X3 V. M
固件升级居然成功了.png 3 {+ f* n* Y7 G/ a5 G0 o' w. A, P
然后我又换了另外一块c8t6来做实验,失败了,说是固件太大,也就是当前c8t6没有足够空间
' A0 m+ B% f" t1 _( s8 @% L 固件升级失败,flash不够.png
/ z. X2 V4 G) o3 [1 [3 a  k, Temmmm,这就尴尬了,同样是c8t6,为什么这个布星?" M4 K' \* M; H0 `
先放一放这个问题,开始把没升级成功的那个(就叫做brd2吧,成功的叫brd1)升级成jlink
( P$ @8 J3 q7 H' i2 `, F0 ~* u; P 升级过程.png
! L' _' S& _) W4 v, u可以看到,brd2被识别成stlinkv2,虽然是升级是成功了但是没有虚拟串口可以用
3 o; j0 b4 y- C; j8 K) C& o) K7 d' R2 [. s- Q1 F5 p
现在试一下吧brd1刷成jlink
8 s& N' J# |! H: M, M' J 识别成不同的东西.png 3 B  {9 \, ^2 m3 t
emmmmmm,brd1被识别成stlinkv2-1。。。。。。。,而且有串口可以用3 {  ~1 v( t( v& U; u
升级成功的c8t6有虚拟串口了.png
- S" m( G" [7 w3 m$ o' u???同样的bootloader,怎么就识别成不一样的呢?(有可能是brd1在成功升级固件之后被bootloader做了什么标记)
1 ]4 y0 a9 S. u Snipaste_2018-08-07_22-16-34.png
) M. T! a6 L; G8 C- G现在用brd2下载程序试试6 v8 e1 `; O2 U. C! l$ A/ _" l8 c
103成功变身jlinkob.png . |7 L+ V7 ?! S8 g  T$ c
,keil下载时提示这个' N( n# n5 ^% I7 _  q
keil_jlinkob_警告.png ; M! P' ?8 B" s" m" b' T! b2 p
无视掉,在之后弹出的界面选mcu型号
+ {* Q% u0 g+ ~" ~' _ jlinkstlink下载成功.png
7 l% q' b, D3 u: K1 C  u成功下载, C! L: H% R1 M' e$ Z

0 V! d0 f/ E+ P  v工具合影5 j, D8 @$ Q5 I
P80807-223211.jpg Snipaste_2018-08-07_22-44-42.png 1 n/ ~) l7 `8 H( w5 S9 D
结论:& Z5 \1 W/ i3 h: v# Q' Z3 p
不是所有c8t6都叫特仑苏,emmm; M$ \/ T2 t% ]  Q
不是所有c8t6都可以升级成stlinkv2-1或jlinkob(带虚拟串口)
# s' E( ^, N; r! R: q使用cBt6可以制作stlink2-1或者jlinkob(stlink升级版)
! k- j/ Y' C6 V' N' ~1 [# t3 |0 p
猜测原因:/ ?# S" H1 h! ]2 K  ^. d( ^
1.每个c8t6中能用的flash大小不同,有的是前64K和后64K(隐藏)全都能用,有的可能后64K某些地址是坏掉的,不能读写,而bootloader会检测flash能否读写
9 R7 Q/ J. I1 L  F2.其实那个brd1上的c8t6不是真的c8t6是个假的拆机货,本来是xBt6系列,被翻新成c8t6(调试器并没有给出当前连接的是哪个型号,只会说是哪个系列)
8 @, O8 U1 r4 b' |  z, T" V. t5 ~: S# U( ^8 G8 L, f
8 E! H' V  c3 l5 m) U1 p& m* k
割れたリンゴ 回答时间:2018-8-7 21:07:27
本帖最后由 割れたリンゴ 于 2018-8-7 21:10 编辑   D3 G% M. L9 L9 s. [" P) c+ |9 X
radio2radio 发表于 2018-8-7 12:09( \% b8 X$ {) f1 M: G! E
楼主,您知不知道哪种便宜(10-30元)的STLINK,支持官方升级JLINK-OB?
) @- G. g: P, {' \( Q/ ?
segger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)# ?0 {: C( z7 B4 D( V( q

& [) f3 k5 Q% M! z) A, q! ?/ B$ r/ h TIM图片20180807204628.png
9 N0 d, @4 D  ~+ x$ Z5 s* K) B$ q
据我了解(拆过的stlink有限),淘宝主要卖STLINKV2的盗版,因为STLINKV2-1固件还没"普及",   l" m& t& I8 O6 l7 i$ M1 _
我见过的芯片有:
% I2 a% P  t+ E5 Ylqfp48封装:           f101c8, f101cB, f103c8,f103cB, `9 ^6 Z' B# u7 l- w' a" ?
qfn48封装:3 Q. b; c8 ~( U7 y: N
          f101CEU6/f103CEu6
" x' h; I4 i" d! }# _淘宝D版使用的电路就基本是这两块板的电路(区别是上面两个板载STLINK没有STM8的调试接口),只是2.54mm排针所连接的端口顺序有差异, }- Y5 i, I& \( K" n
6 f6 R" }7 ^$ ]4 A* m/ I4 J
如果刷入JLINKOB并且要使用它的虚拟串口功能能的话,你得飞两条线,分别是PA2、PA3(uart2?)1 Z, J" H+ y) u
把原来的stm8调试部分的pcb线路割断,接上这两条线才ok
, [: m  M6 X+ X/ J不过你这么一问倒是提醒我了,我先试一下只把stlinkv2的bootloader刷到常见的stm32f103c8t6,再用segger的升级工具看看能不能把它变成jlinkob
* F9 F7 b$ S  e1 N这样以后再制作jlinkob就不用买f072了= ̄ω ̄=开心
8 a( X1 z- Q# F- W5 K
radio2radio 回答时间:2018-8-12 12:58:54
又搞了一大轮,我手上有3种板子,c8t6最小板brd1, brd2, 还有上面的STLINKv2:1 S& X- Q( _( k, f
4 T4 f! n! J* Z: U; U7 [& k3 H
brd1,可以刷v2-1,电脑可以识别,Keil可以识别v2-1,Keil不能连接目标板(总是通信出错),不能升级,不能刷J-LINK OB。
$ [2 m& {3 i& X2 |8 `* T; d6 I* Y/ B. j1 w, r
brd2,可以刷v2,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错),不能升级(FW大).: Y  u/ b% M7 a- d5 N
         能刷J-LINK OB,STM32 IC可以用,但是NXP IC不能用了,即这样刷成的OB,只能用于ST的IC。
+ X+ R- w* Q6 r+ m7 o3 N
1 @8 e  b4 ^8 P8 }- X0 TSTLINKv2,这个更惨,刷v2-1后电脑不能识别,USB不正常。) M3 h+ E8 m7 I' A
         刷V2后,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错)。不能升级STLINK。
8 k$ H, a' @8 I& G         不能刷OB:
% i; J* a) b# L7 b  q  P' D- HPreparing for FW update (can take up to 10 seconds)...O.K.$ w# ^3 \. L- A" |) W- B& s; f
Identifying ST-LINK variant...ERROR: Cannot identify ST-LINK variant
' |8 c/ {6 y- N& R: ?  h
0 S# l$ L- ?+ I. r# X
  X: ]+ ?7 Z! S% ]3 b5 C结果是,只有brd2的JLINK OB勉强可以用于ST的IC。3 K' A8 z/ d& O: j5 r  n

3 f( j, x7 e, H9 V  u# O; \+ W希望能够找到通用的F103-JLINK-OB的软件,就像F072那种。4 u3 F6 o: v* R3 v& z
radio2radio 回答时间:2018-8-7 12:09:22
楼主,您知不知道哪种便宜(10-30元)的STLINK,支持官方升级JLINK-OB?
STM1024 回答时间:2018-8-7 21:30:14
厉害!有多的PCB能送我一块嘛?
割れたリンゴ 回答时间:2018-8-7 22:00:10
stm1024 发表于 2018-8-7 21:30
- T' I7 x1 N8 m  d+ W: k0 i厉害!有多的PCB能送我一块嘛?
& g$ a2 Z( B/ ?& s
有,你要哪个我邮寄给你,邮费你出(~o ̄3 ̄)~,那个彩色led我也可以给你一个(4角钱一个呢(* ̄3 ̄)╭),不过我没有0402的电阻了
freeelectron 回答时间:2018-8-7 22:07:04
厉害了      
radio2radio 回答时间:2018-8-8 09:17:13
辛苦了。 有没有简单的方法,检查C8T6是64KB还是128KB。

点评

C8T6就是64K的,CBT6才是128K, 最靠谱的办法就是往所有地址里写数据, 然后读出来看看是不是正确, 360的U盘容量鉴定就是这么干的  发表于 2019-6-14 15:42
割れたリンゴ 回答时间:2018-8-8 11:53:00
radio2radio 发表于 2018-8-8 09:17' c4 q$ _  Y. `  F  L
辛苦了。 有没有简单的方法,检查C8T6是64KB还是128KB。
& e/ N% C0 G9 m
这简单,你写个for循环小程序测试一下flash能否读写,比如把后64kb全填成0+i,然后再读出来看看是不是0+i
g2004-148848 回答时间:2018-8-9 14:48:23
楼主辛苦谢谢分享
tjdee 回答时间:2018-8-9 21:15:48
谢谢楼主分享!受益匪浅
radio2radio 回答时间:2018-8-10 21:21:09
本帖最后由 radio2radio 于 2018-8-10 21:32 编辑 " T, u# @' ]; e( C7 `, _

, R7 R  A4 E9 E; ?; p7 m# }4 Z 01.jpg ' ^! G2 q" M6 C. e1 J- j
4 f: N' u& R/ p4 D+ ?4 b1 y) u
我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?& b: j' F+ }6 u7 y( V! m* k# ]
我试过刷您的v2-1的bootloader,刷完以后USB连接失败。刷bootloader时的起始地址是不是0x08000000。
, Z& g0 z1 p6 K" S+ k/ v2 l( b7 |+ [% E% `5 u
我刷了您的V2.J27.S6(文件夹\STLINKV2重烧固件),结果不能更新官方FW,不能成功刷成JLINK OB,怎么解决?5 {: ^3 X) L. e, c  L
关于这个板子,您有什么建议?我想把它刷成JLINK OB,当然最好能有CDC。谢谢。
, u" L$ E- [6 N/ e: a% [+ B5 s* M/ k/ E* i! v: G; i
割れたリンゴ 回答时间:2018-8-11 09:49:20
zhousun 发表于 2018-8-9 21:15
1 b* d& W7 F. s$ y) E谢谢楼主分享!受益匪浅
" Z0 J8 E8 }" e7 x
言重了
割れたリンゴ 回答时间:2018-8-11 10:08:26
radio2radio 发表于 2018-8-10 21:21
& o4 V+ t4 y$ d3 d* U我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?/ v& C3 w. E) E$ A% l6 w
我试过刷您的v2-1的bootloader,刷完以后U ...

  J& ?1 O9 i# \& a& i1 b巧了,这个类型的板子我同学有一个,前几天接反电源烧掉了,32都识别不到了,由于我没有qfn48的32芯片我给它换上了一个c8t6哈哈,仔细看看的话这个板子是lqfp48的封装,只不过一部分被顶层阻焊给盖住了6 ^, O5 u2 x. B, _9 F1 `
我用风枪吹下qfn48,再用砂纸把周围的阻焊磨掉,正好可以放下c8t6,焊接完成后刷了stlinkv2,正常使用中,
. }* L) e# w+ ^- C" t- p9 L如果你想这样换的的话,可以换上CBT6,这样就可以刷成stlinkv2-1(带cdc)然后转成jlinkob(带cdc)
# T2 T* t/ f7 A, s! h" e" `
9 ]& D/ D% I" V& e4 x对应您的情况的话,) m) S0 O" e/ I* z% k
bootloader要一定从0x80000000地址开始下载的9 }" D% P; D0 N6 q; y4 g" O5 H
用这个固件(v2-1没解锁读保护版本),刷入后,重新拔插,设备管理器应该会看到stlink driver,然后再用升级软件升级(我用的是stm32cubeprogrammer)$ r! `* n/ g6 L

0 T1 `- y; x3 ]如果是从0x80000000下载的话,请告诉我升级时提示什么错误?是容量不够吗还是其它的比如直接识别不到usb
) \5 }1 ]' x) _) P9 e" U* V3 O9 V4 i9 F+ t4 u5 [
割れたリンゴ 回答时间:2018-8-11 14:15:52
测试测试
123下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版