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

STM32各种调试器大合集  

[复制链接]
割れたリンゴ 发布时间:2018-8-6 09:14
本帖最后由 割れたリンゴ 于 2019-2-21 19:20 编辑 % r3 ^/ Q! t# H$ P. p
' G7 T8 W3 L, K+ ]* k
资料列表
, Z# G2 v' s0 t. i: P5 q
  • CMSIS_DAP
  • JLINKV9
  • JLINKv7
  • JLINKOB
  • STLINKV2
  • STLINKV2-1* \, P; |' E# F1 |. m

    5 |- x7 y1 k! W' R
具体请看github项目地址,内有firmware工程和AltiumDesigner工程
) }+ q/ O( w! k+ z/ l下图是最近做的CMSIS_DAP金手指版本
" \6 Z6 E1 z. E" g' r

这个是把某宝D版STLINKV2刷成STLINV2-1(带虚拟串口/虚拟U盘)/ r# x7 p# r  e2 G& z  x( g! E/ q

7 o. X' o2 v% N3 _5 u( r& f1 R1 w* V1 n! E! P
收藏 16 评论36 发布时间:2018-8-6 09:14

举报

36个回答
割れたリンゴ 回答时间:2018-8-7 22:28:30
本帖最后由 割れたリンゴ 于 2018-8-7 22:45 编辑
1 k. g+ R3 V3 o- u, F: q- J9 v2 k, k
割れたリンゴ 发表于 2018-8-7 21:07
9 M- ?) Q# V& b! e# p, u3 \segger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
. P6 C$ @; y5 ?  E9 @* x
咳咳,刚才操作了一波,搞得我有点蒙(stm32f103c8t6究竟能不能升级成stlinkv2-1),看下测试结果把我用stm32f013C8T6(bluepill)最小系统板(有usb)做的测试$ I% p) J$ S8 [) f' T% N
第一步,将stlinkv2-1bootloader刷入c8t6 刚刷入固件.png
+ a* r' {9 `+ A( ^奇怪的是这个居然有虚拟串口,而且还有虚拟u盘弹出来,之前我用c8t6试过,刷入bootloader是没有虚拟串口和u盘出来的
; ?  l; T- V2 V赶紧用stm32cubemxprogrammer试一下能否升级stlinkv2-1- z1 g& k; ?: O4 p& H8 o) `
果不其然,可以!!
( h8 S' z3 h& y& M 插上电脑(无固件).png
; }4 `- X6 @0 L# S5 L 固件升级居然成功了.png 4 b/ |3 s4 e1 o. E' }2 k, x
然后我又换了另外一块c8t6来做实验,失败了,说是固件太大,也就是当前c8t6没有足够空间
2 [9 ]0 s6 y, o' {( T. ?) X 固件升级失败,flash不够.png 1 q3 S' ]" N; {1 ?/ p' J
emmmm,这就尴尬了,同样是c8t6,为什么这个布星?
% s/ X# ]/ a( O8 a先放一放这个问题,开始把没升级成功的那个(就叫做brd2吧,成功的叫brd1)升级成jlink  S" y1 [# M) }9 e
升级过程.png   ]/ L  z; w* Q
可以看到,brd2被识别成stlinkv2,虽然是升级是成功了但是没有虚拟串口可以用- P: a3 c" j5 s7 d+ m: k9 b

/ X' F- u$ i8 J& o
现在试一下吧brd1刷成jlink
! \% |* |5 u) s 识别成不同的东西.png
! q7 D3 |( |. H2 @/ \, i) memmmmmm,brd1被识别成stlinkv2-1。。。。。。。,而且有串口可以用
7 l+ @$ ]( A: _ 升级成功的c8t6有虚拟串口了.png 3 d/ X( v  u% X7 ]& E. U
???同样的bootloader,怎么就识别成不一样的呢?(有可能是brd1在成功升级固件之后被bootloader做了什么标记)
) Q6 c& f9 @, s( s" y: } Snipaste_2018-08-07_22-16-34.png , n3 W4 ^/ t! }) A3 F7 q6 K
现在用brd2下载程序试试
; t! e* ^' l2 q" J! q+ Z2 n* u& I 103成功变身jlinkob.png $ M1 G+ D6 L7 ?' [4 s
,keil下载时提示这个
+ l7 j6 e: P' w) l" Z keil_jlinkob_警告.png
" A- j  S7 [8 E) Y: t无视掉,在之后弹出的界面选mcu型号: L, k- L; H" T
jlinkstlink下载成功.png 6 k, L3 }+ Z. I* N
成功下载
/ f3 T) e$ l* l( _: n# x7 N. f* G$ s0 a  Q# p* a, D
工具合影& h9 B9 T% ~" H2 W2 G
P80807-223211.jpg Snipaste_2018-08-07_22-44-42.png 3 i0 r( q4 ~, n$ W, g& {
结论:7 \1 I  T: M& n) ?7 o' K
不是所有c8t6都叫特仑苏,emmm5 J+ M& w8 o9 z9 O8 q6 i) H
不是所有c8t6都可以升级成stlinkv2-1或jlinkob(带虚拟串口)
" b+ a: J9 i0 P  k6 g( ~% C: \  f使用cBt6可以制作stlink2-1或者jlinkob(stlink升级版)) a! a5 B1 `3 I! _7 {
猜测原因:
- s6 s; p2 e0 s6 M1 H$ ~1.每个c8t6中能用的flash大小不同,有的是前64K和后64K(隐藏)全都能用,有的可能后64K某些地址是坏掉的,不能读写,而bootloader会检测flash能否读写  b* _' Z% y  R% c8 g. c
2.其实那个brd1上的c8t6不是真的c8t6是个假的拆机货,本来是xBt6系列,被翻新成c8t6(调试器并没有给出当前连接的是哪个型号,只会说是哪个系列)- q, s6 N! d2 ^, S

+ Q  ?8 }9 S* d  [. K. O
4 g, S+ r. ?) a9 V4 }
割れたリンゴ 回答时间:2018-8-7 21:07:27
本帖最后由 割れたリンゴ 于 2018-8-7 21:10 编辑
9 A$ p+ D+ [8 i: }) O% }+ F
radio2radio 发表于 2018-8-7 12:09
4 {9 W7 S; i3 Q* ~  w  E楼主,您知不知道哪种便宜(10-30元)的STLINK,支持官方升级JLINK-OB?

, k- R6 G0 u. K4 Ksegger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)
/ A0 Y5 O* r" U
: u: X, B* j6 w5 p0 R3 L9 f TIM图片20180807204628.png , Q0 ?9 n. _/ T. q

' k' G" R" t7 K据我了解(拆过的stlink有限),淘宝主要卖STLINKV2的盗版,因为STLINKV2-1固件还没"普及", 0 E: I/ w5 N' ^3 r& ^5 l6 s
我见过的芯片有:" e, B/ k4 c) C; m& ~6 Z
lqfp48封装:           f101c8, f101cB, f103c8,f103cB
3 H" S; G* e* N0 n% N3 A' T/ `' wqfn48封装:2 I/ [! I' w6 ^/ J
          f101CEU6/f103CEu6- H" ^$ m' C, a8 ~# x8 X& |9 F# ]- I
淘宝D版使用的电路就基本是这两块板的电路(区别是上面两个板载STLINK没有STM8的调试接口),只是2.54mm排针所连接的端口顺序有差异
! n: s; _" ^9 s: e  [6 p$ k8 o- Y( g# D  s9 D
如果刷入JLINKOB并且要使用它的虚拟串口功能能的话,你得飞两条线,分别是PA2、PA3(uart2?)
2 V% u* ~8 C% F5 I把原来的stm8调试部分的pcb线路割断,接上这两条线才ok
. j; b5 c4 C6 w1 p6 @: F. q- z5 q% J& F不过你这么一问倒是提醒我了,我先试一下只把stlinkv2的bootloader刷到常见的stm32f103c8t6,再用segger的升级工具看看能不能把它变成jlinkob7 z# D' u2 {- r. V* U4 |
这样以后再制作jlinkob就不用买f072了= ̄ω ̄=开心
: d6 Q# W, R0 X* N2 r" G; M  c
radio2radio 回答时间:2018-8-12 12:58:54
又搞了一大轮,我手上有3种板子,c8t6最小板brd1, brd2, 还有上面的STLINKv2:
+ s+ I$ N, m6 n& w% q$ s  t: C+ h! r3 E0 Y5 E% z$ D( k$ v
brd1,可以刷v2-1,电脑可以识别,Keil可以识别v2-1,Keil不能连接目标板(总是通信出错),不能升级,不能刷J-LINK OB。* X, }; i' a8 M% b

: V! ?& L" q) g0 Tbrd2,可以刷v2,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错),不能升级(FW大).
$ E( m/ s- j) G         能刷J-LINK OB,STM32 IC可以用,但是NXP IC不能用了,即这样刷成的OB,只能用于ST的IC。, j, ?) p6 a. D- n; d' ]: b
2 ?: k, C( `: R3 A( n0 L
STLINKv2,这个更惨,刷v2-1后电脑不能识别,USB不正常。
$ c9 f! S- n/ X3 i; ]  \$ M         刷V2后,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错)。不能升级STLINK。
5 X) _+ u$ `: x$ ^8 H, K2 a         不能刷OB:% N& e! U! o4 C3 M7 H* o5 D
Preparing for FW update (can take up to 10 seconds)...O.K.
3 _$ j1 A3 F3 tIdentifying ST-LINK variant...ERROR: Cannot identify ST-LINK variant
% c) N' [1 Q1 J, Q. U3 q4 k( A1 M9 J" D5 R$ W* `% R7 E9 N! ]$ R! J

1 A1 U( y! Z$ {结果是,只有brd2的JLINK OB勉强可以用于ST的IC。* M7 F8 r' m% R* [7 S. j

. Q+ R4 B4 i6 b8 a* o0 ]- K# S希望能够找到通用的F103-JLINK-OB的软件,就像F072那种。2 y% o5 T- V7 {$ K# W
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:301 h8 |# P/ c/ a& Y7 ~
厉害!有多的PCB能送我一块嘛?
1 A, t8 J* [$ C; z, k8 U( _
有,你要哪个我邮寄给你,邮费你出(~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
3 u. y# P) `$ P* ^辛苦了。 有没有简单的方法,检查C8T6是64KB还是128KB。

6 d9 X" c# F$ f( P这简单,你写个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 编辑 & `  P( I& K# H- G$ q0 V% H

6 c3 F/ c7 h4 ]* ?. P" J 01.jpg
& n; f  y, D( j% n3 e( L+ }9 G6 @  z' m3 ~- X6 d$ v- x  d: b
我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?9 W( Q. E4 Z2 {1 D6 {% Q/ n6 r! X
我试过刷您的v2-1的bootloader,刷完以后USB连接失败。刷bootloader时的起始地址是不是0x08000000。
9 [, }* U4 z9 i  ?# d' v' O1 {3 E/ S5 ^$ ~) i
我刷了您的V2.J27.S6(文件夹\STLINKV2重烧固件),结果不能更新官方FW,不能成功刷成JLINK OB,怎么解决?
- A8 @. A+ J! g9 ]5 d0 P' E1 d关于这个板子,您有什么建议?我想把它刷成JLINK OB,当然最好能有CDC。谢谢。
' [0 V  |' r( w. z8 E1 {# C/ M" ^: \& w2 R3 Z& x4 D; i
割れたリンゴ 回答时间:2018-8-11 09:49:20
zhousun 发表于 2018-8-9 21:15
: i- [' q9 R1 {  X谢谢楼主分享!受益匪浅

6 r7 H2 J# c; C$ f言重了
割れたリンゴ 回答时间:2018-8-11 10:08:26
radio2radio 发表于 2018-8-10 21:21
' R8 j. V% m) {) j1 E我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?
) t; B6 K( J$ U我试过刷您的v2-1的bootloader,刷完以后U ...

2 \' M/ I2 P5 X) o5 S$ g$ D, @巧了,这个类型的板子我同学有一个,前几天接反电源烧掉了,32都识别不到了,由于我没有qfn48的32芯片我给它换上了一个c8t6哈哈,仔细看看的话这个板子是lqfp48的封装,只不过一部分被顶层阻焊给盖住了+ C5 t) P" E6 {3 s& _: X
我用风枪吹下qfn48,再用砂纸把周围的阻焊磨掉,正好可以放下c8t6,焊接完成后刷了stlinkv2,正常使用中,
! I# F1 N& N+ N4 E! e9 z如果你想这样换的的话,可以换上CBT6,这样就可以刷成stlinkv2-1(带cdc)然后转成jlinkob(带cdc)
! ]: V* |' N! I) Z  w
9 {3 }( {, Q7 q. x& o9 ?对应您的情况的话,: h) t' J- L+ n4 M1 J0 X5 a
bootloader要一定从0x80000000地址开始下载的: }4 T* N2 M! s* v
用这个固件(v2-1没解锁读保护版本),刷入后,重新拔插,设备管理器应该会看到stlink driver,然后再用升级软件升级(我用的是stm32cubeprogrammer)1 U1 b( f# x+ n# Z5 u  m2 p

+ `" F5 I5 g, ^如果是从0x80000000下载的话,请告诉我升级时提示什么错误?是容量不够吗还是其它的比如直接识别不到usb3 t( B$ `7 P" q
4 ]# u# {6 v2 n( ^, C5 e' m
割れたリンゴ 回答时间:2018-8-11 14:15:52
测试测试
123下一页

所属标签

相似分享

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