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

STM32各种调试器大合集  

[复制链接]
割れたリンゴ 发布时间:2018-8-6 09:14
本帖最后由 割れたリンゴ 于 2019-2-21 19:20 编辑
& R, g; ~5 q6 H: j( l$ _& V* U( o! @" c: k+ |
资料列表+ a- ~2 M8 B* M6 X/ |: g9 \
  • CMSIS_DAP
  • JLINKV9
  • JLINKv7
  • JLINKOB
  • STLINKV2
  • STLINKV2-1
    1 P( o% _5 O0 l
    % V6 n' q8 s1 r2 w; A
具体请看github项目地址,内有firmware工程和AltiumDesigner工程
. `: t! N0 l4 s1 V4 B# g下图是最近做的CMSIS_DAP金手指版本$ D$ \" ?. ]8 _5 A$ `

这个是把某宝D版STLINKV2刷成STLINV2-1(带虚拟串口/虚拟U盘): f! ]9 ^: _: E" M  F

3 S, ?9 d: {) u( V* M5 K4 ]0 n4 M: i/ B# w" L0 L$ A0 K
收藏 16 评论36 发布时间:2018-8-6 09:14

举报

36个回答
割れたリンゴ 回答时间:2018-8-7 22:28:30
本帖最后由 割れたリンゴ 于 2018-8-7 22:45 编辑 : ?  p2 b5 M& ^2 N, m) Y. Y
割れたリンゴ 发表于 2018-8-7 21:07
: b8 U3 G, h, z9 T9 r6 V( s) {) isegger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
7 n* d2 A& T! H/ _- L6 \* y5 }/ K
咳咳,刚才操作了一波,搞得我有点蒙(stm32f103c8t6究竟能不能升级成stlinkv2-1),看下测试结果把我用stm32f013C8T6(bluepill)最小系统板(有usb)做的测试
  l4 S$ l. b( k第一步,将stlinkv2-1bootloader刷入c8t6 刚刷入固件.png 4 \) N4 d1 s9 i$ f' W
奇怪的是这个居然有虚拟串口,而且还有虚拟u盘弹出来,之前我用c8t6试过,刷入bootloader是没有虚拟串口和u盘出来的
* j+ Q) [* G  _) A! ?- H赶紧用stm32cubemxprogrammer试一下能否升级stlinkv2-1) D& V! D& D  {1 g  n9 o, |* w6 b
果不其然,可以!!
/ x* g2 J6 p- y: O# G  D  j# G 插上电脑(无固件).png ' y/ ]0 g$ w9 X4 q# Y" ]! u
固件升级居然成功了.png 4 X2 y, Q' V4 F( `
然后我又换了另外一块c8t6来做实验,失败了,说是固件太大,也就是当前c8t6没有足够空间9 V; T9 ~7 F* S0 A# Y1 c
固件升级失败,flash不够.png " w, l6 E0 N1 J' ~- a
emmmm,这就尴尬了,同样是c8t6,为什么这个布星?
  O& `4 ~$ l* p- H+ N7 L' i0 Q先放一放这个问题,开始把没升级成功的那个(就叫做brd2吧,成功的叫brd1)升级成jlink
1 h8 j8 u, t" Y$ Q* V# f 升级过程.png
; t* n, i  ^0 ]  t( k  E& G可以看到,brd2被识别成stlinkv2,虽然是升级是成功了但是没有虚拟串口可以用( w. n1 n( H7 l+ F; Q5 j
& {3 Q* a- C0 J3 i) e$ K  ?; w' c
现在试一下吧brd1刷成jlink
* y7 @0 B% _2 M# `$ w; X: L1 {6 [ 识别成不同的东西.png
% y1 |2 @) M5 c+ q4 @emmmmmm,brd1被识别成stlinkv2-1。。。。。。。,而且有串口可以用( Y0 c: k3 T6 w/ {
升级成功的c8t6有虚拟串口了.png & }7 \3 z! {5 ~6 }4 J+ C. v
???同样的bootloader,怎么就识别成不一样的呢?(有可能是brd1在成功升级固件之后被bootloader做了什么标记)/ V) @8 z6 W  k' D3 R7 G  J0 [
Snipaste_2018-08-07_22-16-34.png 1 ~( X* k0 V6 ~- b2 t1 a$ @/ j
现在用brd2下载程序试试4 ^2 P6 u  L6 K. ^
103成功变身jlinkob.png 8 I  W" _/ j7 @3 y
,keil下载时提示这个7 Y- I5 W! Z0 w5 f, T; a9 ~& H4 L
keil_jlinkob_警告.png 3 H/ o( M3 |6 P) q
无视掉,在之后弹出的界面选mcu型号
! J7 K/ J  F: | jlinkstlink下载成功.png
2 h+ T4 W$ d& {2 k/ M6 Y成功下载9 q5 i- V  W) b( i' \/ c3 I* u4 u" D- H
: |0 u; b; ^! [' F. H1 Y/ z1 ?
工具合影. M; S+ }8 o9 \2 `& l. J4 g% ?
P80807-223211.jpg Snipaste_2018-08-07_22-44-42.png ; D- y) C9 J9 |) g7 E) z
结论:
3 ]4 o  ~/ F9 |1 u9 B# D4 f不是所有c8t6都叫特仑苏,emmm7 o/ s1 M$ g; \7 J  K5 `
不是所有c8t6都可以升级成stlinkv2-1或jlinkob(带虚拟串口)
# q0 t. F5 S8 a  I7 H: b使用cBt6可以制作stlink2-1或者jlinkob(stlink升级版). k0 v& w' ^4 U/ L0 M0 g$ m5 O3 A
猜测原因:+ w* P7 n- g- V! a! e
1.每个c8t6中能用的flash大小不同,有的是前64K和后64K(隐藏)全都能用,有的可能后64K某些地址是坏掉的,不能读写,而bootloader会检测flash能否读写
7 ?1 ?2 z/ k6 S& g2.其实那个brd1上的c8t6不是真的c8t6是个假的拆机货,本来是xBt6系列,被翻新成c8t6(调试器并没有给出当前连接的是哪个型号,只会说是哪个系列)0 L  D$ e4 @6 W
; D* J- f+ i$ O0 a
  e. z9 T6 D; [9 Z7 `; J
割れたリンゴ 回答时间:2018-8-7 21:07:27
本帖最后由 割れたリンゴ 于 2018-8-7 21:10 编辑 ( y; E, M+ d0 V+ J7 k2 @
radio2radio 发表于 2018-8-7 12:09
9 b+ ~  D/ {. u3 |' y楼主,您知不知道哪种便宜(10-30元)的STLINK,支持官方升级JLINK-OB?

* |: x# K$ Z# ?6 ^+ y' [( ]. usegger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
  G/ m5 L9 ]; `: }0 T. g" Z$ |
9 v( Y6 C1 r' h8 O. j. W TIM图片20180807204628.png ( S& L% V: P0 `5 P6 p' n7 M/ _% y
. S* r; y3 C( f3 h" _( f0 L, M
据我了解(拆过的stlink有限),淘宝主要卖STLINKV2的盗版,因为STLINKV2-1固件还没"普及", 5 T% r' _  b2 A+ N: g( L
我见过的芯片有:
  ?* ?$ d! n4 b  m( qlqfp48封装:           f101c8, f101cB, f103c8,f103cB
, V$ C* h& i. u: ~; {$ [! h0 oqfn48封装:
- b4 O+ a' P! C# h7 C          f101CEU6/f103CEu6
6 `( F' b$ i6 x& ]1 [淘宝D版使用的电路就基本是这两块板的电路(区别是上面两个板载STLINK没有STM8的调试接口),只是2.54mm排针所连接的端口顺序有差异; e4 P/ y# b" h; J/ B5 V& T
8 [. M+ F; [3 w* `4 x; C
如果刷入JLINKOB并且要使用它的虚拟串口功能能的话,你得飞两条线,分别是PA2、PA3(uart2?)5 H( S0 t1 v' h
把原来的stm8调试部分的pcb线路割断,接上这两条线才ok9 u2 O1 j& m  G: E0 l8 p. O+ ~
不过你这么一问倒是提醒我了,我先试一下只把stlinkv2的bootloader刷到常见的stm32f103c8t6,再用segger的升级工具看看能不能把它变成jlinkob; ^+ f8 Q8 y  D- q* X+ n
这样以后再制作jlinkob就不用买f072了= ̄ω ̄=开心1 S& U+ `. [& L2 ]; [
radio2radio 回答时间:2018-8-12 12:58:54
又搞了一大轮,我手上有3种板子,c8t6最小板brd1, brd2, 还有上面的STLINKv2:1 W: `. [$ S9 G7 E, _- \; T% C

$ |! Z' z) n# \) Y: c" ybrd1,可以刷v2-1,电脑可以识别,Keil可以识别v2-1,Keil不能连接目标板(总是通信出错),不能升级,不能刷J-LINK OB。
& @2 d0 c* A" E' L# B+ g' U1 b( w  C" o' O, ~/ W5 z& K) k
brd2,可以刷v2,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错),不能升级(FW大).3 P# U/ \# L! H. q; C" \, d
         能刷J-LINK OB,STM32 IC可以用,但是NXP IC不能用了,即这样刷成的OB,只能用于ST的IC。" n9 L2 F* ]( p4 Q+ P$ Y/ S. |5 d+ q
% ]' Y  C6 ^& }$ j
STLINKv2,这个更惨,刷v2-1后电脑不能识别,USB不正常。
" U4 R! I1 W- [; G' R6 I         刷V2后,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错)。不能升级STLINK。
% d# ~& r  R* ]1 X! ?2 e         不能刷OB:4 z/ C" S, L$ L4 R! ~
Preparing for FW update (can take up to 10 seconds)...O.K.8 c2 u7 j1 o1 m
Identifying ST-LINK variant...ERROR: Cannot identify ST-LINK variant7 ~  H! N% ]3 N( [
$ X& S; e. u- \: }2 q( U
+ w1 r4 `6 g4 g5 j! v! Y8 C0 @
结果是,只有brd2的JLINK OB勉强可以用于ST的IC。
$ ~( h& b$ e* c5 c- {8 w* H, }9 j/ t( f
希望能够找到通用的F103-JLINK-OB的软件,就像F072那种。
% i8 P, c: i" n8 a3 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
/ \5 {7 K  f/ H4 ~0 D厉害!有多的PCB能送我一块嘛?

6 J5 \3 b4 u7 L! M1 q有,你要哪个我邮寄给你,邮费你出(~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- j) }* k$ T- W4 |
辛苦了。 有没有简单的方法,检查C8T6是64KB还是128KB。
. H' q- \* N7 |/ G9 M) 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 编辑 * [; ^# c7 D$ t. V6 S$ C) S
" r$ I- Z6 f# y6 d5 B( w: l
01.jpg   m4 E+ ~5 ~3 o; ^

! b  `4 Y( x+ p7 t3 C我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?) U; u$ i1 \/ ~
我试过刷您的v2-1的bootloader,刷完以后USB连接失败。刷bootloader时的起始地址是不是0x08000000。9 g- T/ R5 J# f8 Y2 [

4 U+ q' u) ]) M我刷了您的V2.J27.S6(文件夹\STLINKV2重烧固件),结果不能更新官方FW,不能成功刷成JLINK OB,怎么解决?
! T$ V" {' j( Y关于这个板子,您有什么建议?我想把它刷成JLINK OB,当然最好能有CDC。谢谢。
+ A( r) ]; ]8 y4 U- z) _. _; n; n, ]% |
割れたリンゴ 回答时间:2018-8-11 09:49:20
zhousun 发表于 2018-8-9 21:157 D4 ^' L0 {' l  }: }$ P2 s
谢谢楼主分享!受益匪浅

/ ]' R- B8 H# E1 ^3 K/ t0 a" l8 b言重了
割れたリンゴ 回答时间:2018-8-11 10:08:26
radio2radio 发表于 2018-8-10 21:210 C' d. P1 F' _* h% H* m3 S
我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?) n/ j# j) X+ I) n, `
我试过刷您的v2-1的bootloader,刷完以后U ...

% V) s! x0 O8 h5 ^巧了,这个类型的板子我同学有一个,前几天接反电源烧掉了,32都识别不到了,由于我没有qfn48的32芯片我给它换上了一个c8t6哈哈,仔细看看的话这个板子是lqfp48的封装,只不过一部分被顶层阻焊给盖住了  k5 W* a( _) U5 [  A. ^
我用风枪吹下qfn48,再用砂纸把周围的阻焊磨掉,正好可以放下c8t6,焊接完成后刷了stlinkv2,正常使用中,
: r3 _7 t+ F% y: D( U' R如果你想这样换的的话,可以换上CBT6,这样就可以刷成stlinkv2-1(带cdc)然后转成jlinkob(带cdc)
4 b) `' y/ H0 k5 C
# s7 u- L8 |+ k! m9 T& R对应您的情况的话,0 W! W0 U% Z5 }( [7 @: L
bootloader要一定从0x80000000地址开始下载的
5 \0 H: Q9 |$ ?" E% [9 A用这个固件(v2-1没解锁读保护版本),刷入后,重新拔插,设备管理器应该会看到stlink driver,然后再用升级软件升级(我用的是stm32cubeprogrammer)6 E# Y1 v( C  v+ {2 ?% ^
5 M3 M2 `5 U7 h) G
如果是从0x80000000下载的话,请告诉我升级时提示什么错误?是容量不够吗还是其它的比如直接识别不到usb# D  F1 Q: x  d( Y# J- T
# G: w3 |: B0 Y
割れたリンゴ 回答时间:2018-8-11 14:15:52
测试测试
123下一页

所属标签

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