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

STM32各种调试器大合集  

[复制链接]
割れたリンゴ 发布时间:2018-8-6 09:14
本帖最后由 割れたリンゴ 于 2019-2-21 19:20 编辑 " Q/ W$ I' l3 v2 K( _3 [( q

8 Z  H. h2 c9 R$ f
资料列表) F8 I  o. v& V+ F
  • CMSIS_DAP
  • JLINKV9
  • JLINKv7
  • JLINKOB
  • STLINKV2
  • STLINKV2-1
    9 }7 g" l+ z6 l6 D+ [
    0 z, I: R+ _- `3 D
具体请看github项目地址,内有firmware工程和AltiumDesigner工程
3 ~9 i) h. B9 L& ~8 H- ^+ d" q下图是最近做的CMSIS_DAP金手指版本9 j* o% ~, [- x

这个是把某宝D版STLINKV2刷成STLINV2-1(带虚拟串口/虚拟U盘)4 }' U2 I4 z+ @; `4 {. c
/ V; k7 s/ ^; j) q# a5 f8 m3 E+ [

% H5 G+ K8 W* T: x0 I' l7 w
收藏 16 评论36 发布时间:2018-8-6 09:14

举报

36个回答
割れたリンゴ 回答时间:2018-8-7 22:28:30
本帖最后由 割れたリンゴ 于 2018-8-7 22:45 编辑
5 Q/ V$ M9 H- j- w
割れたリンゴ 发表于 2018-8-7 21:074 @: w$ g5 ^$ b+ y) L, R, c. ?; P) d
segger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
. |- G$ G# A7 j2 o. T- l1 o
咳咳,刚才操作了一波,搞得我有点蒙(stm32f103c8t6究竟能不能升级成stlinkv2-1),看下测试结果把我用stm32f013C8T6(bluepill)最小系统板(有usb)做的测试3 c+ f5 C2 r. f% v# W
第一步,将stlinkv2-1bootloader刷入c8t6 刚刷入固件.png
4 Q1 W" u8 j3 ~. A* F& f+ W; E& X6 O奇怪的是这个居然有虚拟串口,而且还有虚拟u盘弹出来,之前我用c8t6试过,刷入bootloader是没有虚拟串口和u盘出来的9 {8 `- l' d( J4 c% L- t
赶紧用stm32cubemxprogrammer试一下能否升级stlinkv2-1( ?( m7 C) G, y3 d) P9 @- h$ |/ ?
果不其然,可以!!, m: \0 s. ?/ V% @
插上电脑(无固件).png & E% y0 ?, f& w8 G
固件升级居然成功了.png
) M; S1 y, q; H; H! S4 A然后我又换了另外一块c8t6来做实验,失败了,说是固件太大,也就是当前c8t6没有足够空间
1 o9 ]& a" b9 I 固件升级失败,flash不够.png
5 S! |0 ~# C2 ~1 l5 }! A& yemmmm,这就尴尬了,同样是c8t6,为什么这个布星?
) ?; I2 p# M0 L先放一放这个问题,开始把没升级成功的那个(就叫做brd2吧,成功的叫brd1)升级成jlink
/ {' H+ h8 u; O/ R 升级过程.png 3 ]8 L, l7 z8 Q* V1 I
可以看到,brd2被识别成stlinkv2,虽然是升级是成功了但是没有虚拟串口可以用
* u4 j9 k- V2 G6 [3 j( x* j1 E
$ A' J& r& U( ^
现在试一下吧brd1刷成jlink
- V. b/ q: k* o6 c' N1 z* ]) { 识别成不同的东西.png
) v1 B9 z+ ^. U% S6 Gemmmmmm,brd1被识别成stlinkv2-1。。。。。。。,而且有串口可以用/ w) H4 v9 \! F+ C8 Y
升级成功的c8t6有虚拟串口了.png
) f9 t0 a; K! k. P2 u/ U1 t8 x: \???同样的bootloader,怎么就识别成不一样的呢?(有可能是brd1在成功升级固件之后被bootloader做了什么标记)8 e2 D8 @. p+ y2 s% R, p* B% B
Snipaste_2018-08-07_22-16-34.png # f. m9 [, B" t$ F1 h
现在用brd2下载程序试试1 S8 U: h: i& B1 q5 F/ f
103成功变身jlinkob.png % W8 q9 e' z$ f7 i2 `4 }
,keil下载时提示这个
. l2 g! `7 {8 E+ i* H: ^8 I$ c* Q  e keil_jlinkob_警告.png ( s3 v" Z) \. b- c
无视掉,在之后弹出的界面选mcu型号6 ~; G1 W' u$ n  T: @# d
jlinkstlink下载成功.png - x$ ]+ r# \! G% ?
成功下载% {1 u! ~# C: h0 S: J& F% T6 a

2 C1 ~* Q7 j1 u$ x5 X工具合影
7 h% ]1 U2 d4 p. c/ d  y5 R- Y  L. h P80807-223211.jpg Snipaste_2018-08-07_22-44-42.png
' f' U3 ]% j. C- q2 Y' S/ ^结论:
+ K( E# K- J) C不是所有c8t6都叫特仑苏,emmm3 f0 Y- [5 P8 g
不是所有c8t6都可以升级成stlinkv2-1或jlinkob(带虚拟串口)8 Y4 v6 l$ y: d) v5 ^
使用cBt6可以制作stlink2-1或者jlinkob(stlink升级版)$ y6 B6 _+ F4 u& C1 @
猜测原因:3 G/ d: w+ A3 K3 h
1.每个c8t6中能用的flash大小不同,有的是前64K和后64K(隐藏)全都能用,有的可能后64K某些地址是坏掉的,不能读写,而bootloader会检测flash能否读写, K) g) t9 ]+ t( |5 ?4 ^/ k# m( \# M
2.其实那个brd1上的c8t6不是真的c8t6是个假的拆机货,本来是xBt6系列,被翻新成c8t6(调试器并没有给出当前连接的是哪个型号,只会说是哪个系列)
! n( Y5 S9 {# R7 H. o, |
* F1 M/ f, t9 J
0 k; T. t' x% k6 o9 I, D
割れたリンゴ 回答时间:2018-8-7 21:07:27
本帖最后由 割れたリンゴ 于 2018-8-7 21:10 编辑 ) O7 \: a, U4 w* J* R
radio2radio 发表于 2018-8-7 12:09
; U8 p2 B- s5 Y) l2 L+ c7 B楼主,您知不知道哪种便宜(10-30元)的STLINK,支持官方升级JLINK-OB?

# ~9 K1 P0 O7 E2 \5 _0 \- a7 bsegger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)2 M) j8 m$ [3 Z/ i4 z
# q  ^- j9 P& A/ ^
TIM图片20180807204628.png   @* I+ s( j$ S4 g& W9 W0 v

8 o. v7 t% Q1 G: \; i" C; y: u# M据我了解(拆过的stlink有限),淘宝主要卖STLINKV2的盗版,因为STLINKV2-1固件还没"普及",
8 q, J# @3 `7 @我见过的芯片有:* x' V* L; v" |* h* f3 g& }7 S* s
lqfp48封装:           f101c8, f101cB, f103c8,f103cB
  M- \( f# e6 S$ J1 ~0 v: @qfn48封装:( t! r- n3 ^- D+ m+ c" P, U( g  G
          f101CEU6/f103CEu6
$ b  H; n5 }- d% e0 l淘宝D版使用的电路就基本是这两块板的电路(区别是上面两个板载STLINK没有STM8的调试接口),只是2.54mm排针所连接的端口顺序有差异8 L  ?/ e. y2 t3 F
1 ^& M, f/ f, d9 N) U
如果刷入JLINKOB并且要使用它的虚拟串口功能能的话,你得飞两条线,分别是PA2、PA3(uart2?)
+ W1 K! W& o8 o. g把原来的stm8调试部分的pcb线路割断,接上这两条线才ok; |* U; e- w6 F8 M' r
不过你这么一问倒是提醒我了,我先试一下只把stlinkv2的bootloader刷到常见的stm32f103c8t6,再用segger的升级工具看看能不能把它变成jlinkob
4 ~! w, I% l; A! r这样以后再制作jlinkob就不用买f072了= ̄ω ̄=开心9 @6 W# W1 I7 O3 g; J
radio2radio 回答时间:2018-8-12 12:58:54
又搞了一大轮,我手上有3种板子,c8t6最小板brd1, brd2, 还有上面的STLINKv2:
' o3 [  J4 }0 b! w( ^
0 s$ m. D- r7 P: ]brd1,可以刷v2-1,电脑可以识别,Keil可以识别v2-1,Keil不能连接目标板(总是通信出错),不能升级,不能刷J-LINK OB。
5 Q- Q7 n" I3 F  I
6 t9 v: S' p; }3 y, j6 \brd2,可以刷v2,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错),不能升级(FW大)., F2 ^4 `: G% v+ w
         能刷J-LINK OB,STM32 IC可以用,但是NXP IC不能用了,即这样刷成的OB,只能用于ST的IC。" x0 Z$ R/ y, _; @; \

) T; l& |' d, f3 _" n8 u/ vSTLINKv2,这个更惨,刷v2-1后电脑不能识别,USB不正常。
" j4 z; H5 j& E* U2 B         刷V2后,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错)。不能升级STLINK。
* K. f: ~: W) b. P# z- h         不能刷OB:' X( B" r. [0 o
Preparing for FW update (can take up to 10 seconds)...O.K.7 b- U: V) N9 p" \/ q
Identifying ST-LINK variant...ERROR: Cannot identify ST-LINK variant
( @- n' z: {* @
3 o4 k9 b0 g' H9 h6 `3 g- Z0 L
) I! V* I/ N7 K: V3 b结果是,只有brd2的JLINK OB勉强可以用于ST的IC。3 b2 X" b: Q$ K2 h* z) B6 b
& Y0 |( \6 W, A! \) d1 \; v/ c& Z
希望能够找到通用的F103-JLINK-OB的软件,就像F072那种。
+ E  n6 E! ?" D6 y& K) \8 P7 h
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* f  H+ a- k6 ?9 d8 N) m
厉害!有多的PCB能送我一块嘛?
$ y; B: P  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
6 f* \# o* u( }7 a% i辛苦了。 有没有简单的方法,检查C8T6是64KB还是128KB。
) w1 q/ z3 g: A& v$ |) c+ B4 z
这简单,你写个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 编辑
1 g" a$ q& j& O' I  g, B6 }" s
" s/ K: A" l$ l1 b# u 01.jpg ! Z+ ^1 \! M! {8 U7 ]$ o# w+ E
# E* o# Z# |1 }& T. F1 j7 y
我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?
8 z6 J$ y2 s7 i4 O# y我试过刷您的v2-1的bootloader,刷完以后USB连接失败。刷bootloader时的起始地址是不是0x08000000。6 a; |* W* w' a0 w% H
! K' `1 T) W: i8 h
我刷了您的V2.J27.S6(文件夹\STLINKV2重烧固件),结果不能更新官方FW,不能成功刷成JLINK OB,怎么解决?6 b" f( u* _6 o- h7 q
关于这个板子,您有什么建议?我想把它刷成JLINK OB,当然最好能有CDC。谢谢。7 |1 i, @- W" s% W7 R) D5 D

1 T- _2 q0 Q9 q* e0 a* o7 F
割れたリンゴ 回答时间:2018-8-11 09:49:20
zhousun 发表于 2018-8-9 21:156 r( X9 g9 ?1 z0 @
谢谢楼主分享!受益匪浅

! Z5 X/ U  s- b' S' w0 O+ O" p5 t% z/ X言重了
割れたリンゴ 回答时间:2018-8-11 10:08:26
radio2radio 发表于 2018-8-10 21:21
- f: S9 D+ {. ?% C) y( E我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?
) R6 D. p/ p7 K$ e& C5 j; e我试过刷您的v2-1的bootloader,刷完以后U ...
, W/ q( k9 ^3 f) s
巧了,这个类型的板子我同学有一个,前几天接反电源烧掉了,32都识别不到了,由于我没有qfn48的32芯片我给它换上了一个c8t6哈哈,仔细看看的话这个板子是lqfp48的封装,只不过一部分被顶层阻焊给盖住了
) b, K+ s- r* o4 Q% N. q# i! x我用风枪吹下qfn48,再用砂纸把周围的阻焊磨掉,正好可以放下c8t6,焊接完成后刷了stlinkv2,正常使用中,: c. ~. T* X6 S: C$ |8 m: Z
如果你想这样换的的话,可以换上CBT6,这样就可以刷成stlinkv2-1(带cdc)然后转成jlinkob(带cdc); ?- B' _' B; N3 O: s2 ~

/ ]. c9 z) k% q' p/ q对应您的情况的话,' C. y2 f( o: t8 f2 f, T
bootloader要一定从0x80000000地址开始下载的
* N5 z$ m: L+ X" J用这个固件(v2-1没解锁读保护版本),刷入后,重新拔插,设备管理器应该会看到stlink driver,然后再用升级软件升级(我用的是stm32cubeprogrammer)7 W+ ?& {/ |7 ]4 \8 m
& p; z5 r, h5 e  Y+ E5 S: S7 D
如果是从0x80000000下载的话,请告诉我升级时提示什么错误?是容量不够吗还是其它的比如直接识别不到usb2 K8 p" [4 q% {6 s; b! K

- w( r! X; o) k
割れたリンゴ 回答时间:2018-8-11 14:15:52
测试测试
123下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版