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

STM32各种调试器大合集  

[复制链接]
割れたリンゴ 发布时间:2018-8-6 09:14
本帖最后由 割れたリンゴ 于 2019-2-21 19:20 编辑 # B- B6 @$ f! u0 q9 v" ]- \3 h+ [

  t8 s1 o9 H. s; d) w
资料列表
4 F9 m; [. }; ^; N5 d1 @: M
  • CMSIS_DAP
  • JLINKV9
  • JLINKv7
  • JLINKOB
  • STLINKV2
  • STLINKV2-1' x8 _, {7 D. `3 K6 W* h
    9 ^& e) I) I+ Q
具体请看github项目地址,内有firmware工程和AltiumDesigner工程! z$ T' Y* W1 m3 d! G
下图是最近做的CMSIS_DAP金手指版本) }% _& b4 Y2 i; w) C) s' L

这个是把某宝D版STLINKV2刷成STLINV2-1(带虚拟串口/虚拟U盘)
: _4 n% c2 N* @! s- g3 F

6 _7 g' _# `% V$ |9 k
! B- q8 R; S. U. C4 }
收藏 16 评论36 发布时间:2018-8-6 09:14

举报

36个回答
割れたリンゴ 回答时间:2018-8-7 22:28:30
本帖最后由 割れたリンゴ 于 2018-8-7 22:45 编辑
1 K( z: F2 a# v
割れたリンゴ 发表于 2018-8-7 21:078 D6 E4 |; h6 |" p- d0 _; }
segger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
# \  a* ~" g) k& p, \. m
咳咳,刚才操作了一波,搞得我有点蒙(stm32f103c8t6究竟能不能升级成stlinkv2-1),看下测试结果把我用stm32f013C8T6(bluepill)最小系统板(有usb)做的测试; k0 |; W3 y& m9 f7 M. H- p
第一步,将stlinkv2-1bootloader刷入c8t6 刚刷入固件.png ; V' Y4 f6 \/ v3 S
奇怪的是这个居然有虚拟串口,而且还有虚拟u盘弹出来,之前我用c8t6试过,刷入bootloader是没有虚拟串口和u盘出来的: X( i' @- i, A8 j5 M5 i
赶紧用stm32cubemxprogrammer试一下能否升级stlinkv2-1) k5 j( z+ }$ t& }- b$ O  T8 \
果不其然,可以!!
, V# t$ E& @- Y) y8 L; X% r 插上电脑(无固件).png
, I& t& v4 g, |) c; i" N 固件升级居然成功了.png ; u4 J9 b8 X3 ?2 e2 x
然后我又换了另外一块c8t6来做实验,失败了,说是固件太大,也就是当前c8t6没有足够空间/ D2 I: N) f- S" J+ x+ x
固件升级失败,flash不够.png 3 L. ~+ `1 k5 P1 n( b; a
emmmm,这就尴尬了,同样是c8t6,为什么这个布星?+ j) C, f. e: ~6 a; ~
先放一放这个问题,开始把没升级成功的那个(就叫做brd2吧,成功的叫brd1)升级成jlink( O9 c' D, P0 O( G5 z! k8 e, u
升级过程.png
0 ]" ?1 A! h! y8 g2 T1 o+ x: _可以看到,brd2被识别成stlinkv2,虽然是升级是成功了但是没有虚拟串口可以用6 U6 s3 ~1 q; J- a' j

2 K& T+ T2 D/ ^
现在试一下吧brd1刷成jlink7 v4 _: e2 Z  i& d9 t
识别成不同的东西.png $ s/ v; d5 i% r7 X& X
emmmmmm,brd1被识别成stlinkv2-1。。。。。。。,而且有串口可以用
1 Q6 |4 P5 w) \# p4 P 升级成功的c8t6有虚拟串口了.png
" V1 P9 \& u( |; i* u???同样的bootloader,怎么就识别成不一样的呢?(有可能是brd1在成功升级固件之后被bootloader做了什么标记)
$ Q1 @  T$ M' D$ p Snipaste_2018-08-07_22-16-34.png & g7 Y) H% A  H& n# [" ?
现在用brd2下载程序试试
& D' q4 k# l0 d. { 103成功变身jlinkob.png , G$ h( R0 D" ^0 X
,keil下载时提示这个
6 X7 N; Z; P' B6 n keil_jlinkob_警告.png $ k( T/ b* m% W7 o7 C# _+ v/ Z
无视掉,在之后弹出的界面选mcu型号
+ d! v# ?7 @7 X jlinkstlink下载成功.png * E" b! i3 ^7 J9 T
成功下载8 X/ z9 {/ \$ e) E' h
& c4 o( Y' x- [! Q. W  g( x
工具合影
5 m/ `# O, W5 n" p2 k P80807-223211.jpg Snipaste_2018-08-07_22-44-42.png
3 A7 v. {$ l0 c7 e+ `9 O' W结论:. A$ u( H8 d; P' R, I; [( ^6 A- c) r) v
不是所有c8t6都叫特仑苏,emmm) S" ~. z8 ]: P5 I3 }6 j
不是所有c8t6都可以升级成stlinkv2-1或jlinkob(带虚拟串口)
( x8 H1 h, V8 k! A; J9 o使用cBt6可以制作stlink2-1或者jlinkob(stlink升级版)7 K; w7 y0 a: J" n/ H) o
猜测原因:
( u* ?. T" Z( {/ ^; S* E1.每个c8t6中能用的flash大小不同,有的是前64K和后64K(隐藏)全都能用,有的可能后64K某些地址是坏掉的,不能读写,而bootloader会检测flash能否读写
7 M4 t, V* K) M1 C2.其实那个brd1上的c8t6不是真的c8t6是个假的拆机货,本来是xBt6系列,被翻新成c8t6(调试器并没有给出当前连接的是哪个型号,只会说是哪个系列)/ M7 P% {: }; T# D" j

5 |) n! {; ~) Y* }+ e; u- F+ [
2 {2 R- h; K0 {; L! ?( C1 [
割れたリンゴ 回答时间:2018-8-7 21:07:27
本帖最后由 割れたリンゴ 于 2018-8-7 21:10 编辑 3 i: B1 c) R2 r) u  _  h9 M3 h
radio2radio 发表于 2018-8-7 12:09% ^$ [; q7 r9 w6 i2 \7 b, k. p
楼主,您知不知道哪种便宜(10-30元)的STLINK,支持官方升级JLINK-OB?

. j  x7 ~. C: }2 A1 }7 Vsegger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
, v% \: ]5 Z$ ?+ @
9 Y0 N: \- u+ o: {; Y* Z TIM图片20180807204628.png : D1 i0 m' R+ G0 l+ w6 B

: J9 n( y* B, M3 `2 l据我了解(拆过的stlink有限),淘宝主要卖STLINKV2的盗版,因为STLINKV2-1固件还没"普及", 7 N  g' s/ Z3 }/ T% s3 }3 q
我见过的芯片有:" |$ v! m% V+ t( ~4 U) H1 t$ q
lqfp48封装:           f101c8, f101cB, f103c8,f103cB, I* I- e7 p: \! D( r
qfn48封装:1 T; l8 C( h: t, ~3 t
          f101CEU6/f103CEu67 P2 W5 L2 ?$ x6 n7 {
淘宝D版使用的电路就基本是这两块板的电路(区别是上面两个板载STLINK没有STM8的调试接口),只是2.54mm排针所连接的端口顺序有差异; |3 ?! i$ c' E* H1 Z7 \4 d8 L

, e$ `) l7 |$ K. Z: S如果刷入JLINKOB并且要使用它的虚拟串口功能能的话,你得飞两条线,分别是PA2、PA3(uart2?)
: x+ d6 c9 f4 y把原来的stm8调试部分的pcb线路割断,接上这两条线才ok
6 F! C! [# T  j) J  i4 v1 ?' o不过你这么一问倒是提醒我了,我先试一下只把stlinkv2的bootloader刷到常见的stm32f103c8t6,再用segger的升级工具看看能不能把它变成jlinkob
# V( |, w) M6 U0 w1 b这样以后再制作jlinkob就不用买f072了= ̄ω ̄=开心
. \2 r% Y: U4 u8 P- B& {
radio2radio 回答时间:2018-8-12 12:58:54
又搞了一大轮,我手上有3种板子,c8t6最小板brd1, brd2, 还有上面的STLINKv2:
8 w. {9 _; h) T. ?6 G& P$ ]- _6 X! E/ w: u& l1 b: s% z" \
brd1,可以刷v2-1,电脑可以识别,Keil可以识别v2-1,Keil不能连接目标板(总是通信出错),不能升级,不能刷J-LINK OB。; n3 O' c* G; t: O8 B9 }' A* D. y

3 n& f- n! J" h4 c# \# n, Obrd2,可以刷v2,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错),不能升级(FW大).
; Y" k! ~8 |  q         能刷J-LINK OB,STM32 IC可以用,但是NXP IC不能用了,即这样刷成的OB,只能用于ST的IC。
' |2 U: e% V. d  L6 C! N. ?1 V# |: N7 P
STLINKv2,这个更惨,刷v2-1后电脑不能识别,USB不正常。
& W+ k2 _( |" }( D         刷V2后,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错)。不能升级STLINK。
! l' T/ V+ I2 x/ p  I4 T         不能刷OB:+ S7 W: c7 x" J: ^' f; `
Preparing for FW update (can take up to 10 seconds)...O.K.+ L/ s7 j& }" G8 q! o
Identifying ST-LINK variant...ERROR: Cannot identify ST-LINK variant- K- B: K3 [/ Y# M0 }% d- M. R

4 i' @  A9 A& x
4 z' L& J) w) O7 g结果是,只有brd2的JLINK OB勉强可以用于ST的IC。
( x& i2 p" B; X  Z- s! i' G( {9 J" }0 Y+ O5 w# ?! M
希望能够找到通用的F103-JLINK-OB的软件,就像F072那种。9 Z6 }5 P$ V- N5 k1 m: Z: G
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
. Z  r* H: n( T( h5 L1 H" p厉害!有多的PCB能送我一块嘛?

6 f* U2 B5 t: p有,你要哪个我邮寄给你,邮费你出(~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
* H6 H0 y# q2 L6 ?辛苦了。 有没有简单的方法,检查C8T6是64KB还是128KB。

2 j9 s& E$ T. ]! u这简单,你写个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 编辑 3 @( X) p5 i% }& K/ S; G

/ g4 n; d& }# L9 d: P1 ~7 ` 01.jpg 4 j1 E2 I) Y- f; R: b
' q4 X1 R, [8 g( u8 H# ?" o3 W
我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?
* K0 G8 Y3 H0 S1 s& ]7 T- \" i- B我试过刷您的v2-1的bootloader,刷完以后USB连接失败。刷bootloader时的起始地址是不是0x08000000。
7 f5 a0 c' p# C; N. r7 u/ Y9 u  _0 M- G: h! J, k8 s# U* A
我刷了您的V2.J27.S6(文件夹\STLINKV2重烧固件),结果不能更新官方FW,不能成功刷成JLINK OB,怎么解决?, j2 H: O, r3 }0 l$ K) V! O
关于这个板子,您有什么建议?我想把它刷成JLINK OB,当然最好能有CDC。谢谢。
) s9 I; k' f& a3 X3 Y2 h1 U7 ^; }% J7 V8 {8 ^1 W, n
割れたリンゴ 回答时间:2018-8-11 09:49:20
zhousun 发表于 2018-8-9 21:15+ Z! P7 n) g$ e' m; O- M
谢谢楼主分享!受益匪浅
' i2 T7 g) @4 c0 z  V" B; x
言重了
割れたリンゴ 回答时间:2018-8-11 10:08:26
radio2radio 发表于 2018-8-10 21:21
0 C% H6 j, i3 p+ G: j我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?
8 e' e0 H& f$ ~我试过刷您的v2-1的bootloader,刷完以后U ...
$ w. m% S; J% ~  ^3 ^. I8 A* r
巧了,这个类型的板子我同学有一个,前几天接反电源烧掉了,32都识别不到了,由于我没有qfn48的32芯片我给它换上了一个c8t6哈哈,仔细看看的话这个板子是lqfp48的封装,只不过一部分被顶层阻焊给盖住了" F. Z0 \& H/ Y1 D* y; C' a" E' ^
我用风枪吹下qfn48,再用砂纸把周围的阻焊磨掉,正好可以放下c8t6,焊接完成后刷了stlinkv2,正常使用中,
. A+ k: w: {/ k7 U! z( u" v如果你想这样换的的话,可以换上CBT6,这样就可以刷成stlinkv2-1(带cdc)然后转成jlinkob(带cdc)
( `4 ]! }+ Q+ ?- A6 z& o6 Z+ b6 [# ^7 {* `0 b& c8 [: u' |
对应您的情况的话,8 a( t& D- f4 Y4 _
bootloader要一定从0x80000000地址开始下载的1 s' P% u& i+ r7 I3 H% ?. r
用这个固件(v2-1没解锁读保护版本),刷入后,重新拔插,设备管理器应该会看到stlink driver,然后再用升级软件升级(我用的是stm32cubeprogrammer)7 _5 `5 \/ N+ `6 B2 |0 X+ Q
( X+ |. [8 \$ d$ s0 J% i/ w
如果是从0x80000000下载的话,请告诉我升级时提示什么错误?是容量不够吗还是其它的比如直接识别不到usb1 ?. E) F1 ?/ f, f

0 l) x6 v( X0 k7 _  Q3 B
割れたリンゴ 回答时间:2018-8-11 14:15:52
测试测试
123下一页

所属标签

相似分享

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