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

STM32各种调试器大合集  

[复制链接]
割れたリンゴ 发布时间:2018-8-6 09:14
本帖最后由 割れたリンゴ 于 2019-2-21 19:20 编辑   `3 [9 H- X2 c/ G/ @! s/ B

# \* f+ s, C6 k0 P
资料列表. R1 k. P; n8 @; q
  • CMSIS_DAP
  • JLINKV9
  • JLINKv7
  • JLINKOB
  • STLINKV2
  • STLINKV2-1
    + j% |& M0 w9 A" L

    ) c1 w5 B( z1 o0 {7 ~; D/ k
具体请看github项目地址,内有firmware工程和AltiumDesigner工程/ m3 t: U8 q! V" B
下图是最近做的CMSIS_DAP金手指版本
  g9 I( X! s& r9 N. R, c* ?3 x

这个是把某宝D版STLINKV2刷成STLINV2-1(带虚拟串口/虚拟U盘)
9 m3 c" A8 y" M1 ~
% N  V8 L, p5 H6 M- X

( ~) M! n( p' u. s; B8 [
赞 收藏 16 评论36 发布时间:2018-8-6 09:14

举报

36个回答
割れたリンゴ 回答时间:2018-8-7 22:28:30
本帖最后由 割れたリンゴ 于 2018-8-7 22:45 编辑
6 j# `* F8 }8 s3 k$ C
割れたリンゴ 发表于 2018-8-7 21:07
/ Q4 b: ]7 Q0 k3 K: wsegger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)

" [: Z5 V* ^9 x1 Z咳咳,刚才操作了一波,搞得我有点蒙(stm32f103c8t6究竟能不能升级成stlinkv2-1),看下测试结果把我用stm32f013C8T6(bluepill)最小系统板(有usb)做的测试7 `7 o" ^) S& A6 ~. D4 ]5 Z* x, V3 V
第一步,将stlinkv2-1bootloader刷入c8t6 刚刷入固件.png ' g, Z9 K6 J/ K; p- C
奇怪的是这个居然有虚拟串口,而且还有虚拟u盘弹出来,之前我用c8t6试过,刷入bootloader是没有虚拟串口和u盘出来的
' g/ N8 _7 d. O$ N" r赶紧用stm32cubemxprogrammer试一下能否升级stlinkv2-1' A2 V! Z, O( a1 v# E* T
果不其然,可以!!+ ]) P' @! R" y  z- p  a
插上电脑(无固件).png # N, v! H& S! ]+ H- r
固件升级居然成功了.png 5 q2 n+ r8 w* A* {4 P
然后我又换了另外一块c8t6来做实验,失败了,说是固件太大,也就是当前c8t6没有足够空间
$ t; T! ~5 m: s: n. y7 C9 K; D- e4 P7 U 固件升级失败,flash不够.png
' X- A" U3 {' |8 s: s% E  R" d' yemmmm,这就尴尬了,同样是c8t6,为什么这个布星?6 o; l1 p& s0 ~% C$ P& d: g2 Z
先放一放这个问题,开始把没升级成功的那个(就叫做brd2吧,成功的叫brd1)升级成jlink. X. o# b' [  B2 }
升级过程.png
) |  E% ~6 w. e0 |% N! M可以看到,brd2被识别成stlinkv2,虽然是升级是成功了但是没有虚拟串口可以用2 C% b2 X2 h# }/ G' P' Q) O

: _" i/ R3 B" h; f0 a8 F/ g; B6 Y
现在试一下吧brd1刷成jlink
- E. i: {" @0 L8 I+ f 识别成不同的东西.png 4 Y  l! K0 ?0 q, k6 f/ |
emmmmmm,brd1被识别成stlinkv2-1。。。。。。。,而且有串口可以用
- {3 w0 S& n2 l& I6 y% B 升级成功的c8t6有虚拟串口了.png
! S, L8 e/ ]( D' M$ z???同样的bootloader,怎么就识别成不一样的呢?(有可能是brd1在成功升级固件之后被bootloader做了什么标记)% q% r& j  V0 a1 e9 l' [
Snipaste_2018-08-07_22-16-34.png
9 r) s$ B) j; {: R( X现在用brd2下载程序试试
* G5 V$ {6 L8 l% ]) a" O 103成功变身jlinkob.png 2 C& W" ~$ L: o! i* z: N* y: X
,keil下载时提示这个, ]4 Y9 X' p- e
keil_jlinkob_警告.png ( Z- l, J) K/ l) t/ L
无视掉,在之后弹出的界面选mcu型号+ k" ]+ d( ~+ q6 r! ?: i. b
jlinkstlink下载成功.png " m6 c& l: g# D( k8 R
成功下载
: k! ?9 L: E" Q/ F) K; }$ H! h1 h' d. u/ L
工具合影
. m7 \5 a/ G4 L) V5 M. e P80807-223211.jpg Snipaste_2018-08-07_22-44-42.png 5 h/ @5 [1 \) _$ s/ q0 C
结论:2 W. }. ^6 j0 P7 g: |) q" P
不是所有c8t6都叫特仑苏,emmm
! n! ~* ^1 E# B+ d2 `0 Q9 g不是所有c8t6都可以升级成stlinkv2-1或jlinkob(带虚拟串口)
# d" L2 ^6 @& _' J' h" S4 j使用cBt6可以制作stlink2-1或者jlinkob(stlink升级版)) N( E$ e' @' Z( e: }
猜测原因:
! t, z6 W, W( H3 B1.每个c8t6中能用的flash大小不同,有的是前64K和后64K(隐藏)全都能用,有的可能后64K某些地址是坏掉的,不能读写,而bootloader会检测flash能否读写
. \0 v! L% ^3 \8 Q) w  Z2.其实那个brd1上的c8t6不是真的c8t6是个假的拆机货,本来是xBt6系列,被翻新成c8t6(调试器并没有给出当前连接的是哪个型号,只会说是哪个系列)) K  {2 j5 e5 h# ]
( }4 H. K4 Y. W% N: Z' X; ?

2 j0 I9 C4 s5 U" g
割れたリンゴ 回答时间:2018-8-7 21:07:27
本帖最后由 割れたリンゴ 于 2018-8-7 21:10 编辑
/ L# K7 B0 v5 P( t3 E: Y
radio2radio 发表于 2018-8-7 12:097 k. a* O+ X1 z. k& {% \
楼主,您知不知道哪种便宜(10-30元)的STLINK,支持官方升级JLINK-OB?
& u3 e4 l: c( \2 ]/ j7 C2 M
segger官网说STLINKV2或者STLINKV2-1都可以升级(我只试过nucleo stlinkv2-1升级jlinkob)1 E) z8 g! r4 A7 b5 a& ]! N5 F

6 ~( w, C. o8 c! f- r2 ^ TIM图片20180807204628.png - F% f  v. r# W- D- F0 \- i

4 Z; y  R! ~0 ^% T% X! e据我了解(拆过的stlink有限),淘宝主要卖STLINKV2的盗版,因为STLINKV2-1固件还没"普及",
! {; p: y, K* f# `0 ^3 q% L我见过的芯片有:% b6 r  y3 F' t1 a) m
lqfp48封装:           f101c8, f101cB, f103c8,f103cB
  D+ X8 d7 n+ a+ H  |1 w. Iqfn48封装:. D3 P; y8 W1 r! w1 Y
          f101CEU6/f103CEu6! K* ^7 c$ L9 R, f4 d& E
淘宝D版使用的电路就基本是这两块板的电路(区别是上面两个板载STLINK没有STM8的调试接口),只是2.54mm排针所连接的端口顺序有差异
. [: @2 M2 a/ G! |& K  h
, k- {  Q/ q& j8 j如果刷入JLINKOB并且要使用它的虚拟串口功能能的话,你得飞两条线,分别是PA2、PA3(uart2?)
" i( P) P/ {' F- A7 l把原来的stm8调试部分的pcb线路割断,接上这两条线才ok
4 ]: F/ _& k2 P7 a, n" b$ O不过你这么一问倒是提醒我了,我先试一下只把stlinkv2的bootloader刷到常见的stm32f103c8t6,再用segger的升级工具看看能不能把它变成jlinkob: j' l  [0 e' P2 ?
这样以后再制作jlinkob就不用买f072了= ̄ω ̄=开心
! Y( Q0 G, z, @" [, }# |- x- z
radio2radio 回答时间:2018-8-12 12:58:54
又搞了一大轮,我手上有3种板子,c8t6最小板brd1, brd2, 还有上面的STLINKv2:$ X- s: Q) S1 y; \0 K8 ~% F

2 p$ o9 J% D8 i0 b" obrd1,可以刷v2-1,电脑可以识别,Keil可以识别v2-1,Keil不能连接目标板(总是通信出错),不能升级,不能刷J-LINK OB。
! _/ U% S* I  f3 K& [4 A2 q: e- O* S
brd2,可以刷v2,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错),不能升级(FW大).
$ o/ P% a/ P9 n+ J8 i' h         能刷J-LINK OB,STM32 IC可以用,但是NXP IC不能用了,即这样刷成的OB,只能用于ST的IC。9 _# L  O' {/ R1 _: V, p3 R
/ e6 N0 i; B- B9 i: I& t. m
STLINKv2,这个更惨,刷v2-1后电脑不能识别,USB不正常。
5 q8 M5 k/ b5 z' z) n' K         刷V2后,电脑可以识别,Keil可以识别v2,Keil不能连接目标板(总是通信出错)。不能升级STLINK。) U' W# r9 \) ^# f! i3 B  V
         不能刷OB:, O7 v* a+ j; t! _: j
Preparing for FW update (can take up to 10 seconds)...O.K.9 Q# t8 h! M; h* d: D8 _% s8 `
Identifying ST-LINK variant...ERROR: Cannot identify ST-LINK variant8 u$ R" A2 ]" `5 S) Y% I
6 K+ l" |% O5 F9 x2 H/ z
$ J8 R# b! M+ R
结果是,只有brd2的JLINK OB勉强可以用于ST的IC。
! m) J. t& E% d" ]5 ]( T! l0 @" _, |' h0 [! Z; \5 D- L# ~
希望能够找到通用的F103-JLINK-OB的软件,就像F072那种。
/ O; o' N4 z. {9 F/ r5 t; e" L
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# e' S% S1 B1 |' e
厉害!有多的PCB能送我一块嘛?
7 H) Z& v3 x5 Y
有,你要哪个我邮寄给你,邮费你出(~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% \% g& a. a% x4 F# U% R2 e& s
辛苦了。 有没有简单的方法,检查C8T6是64KB还是128KB。

# E( m7 @7 K. c1 @2 ^' |. a! i这简单,你写个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 编辑
+ }2 r9 g  w& M7 `/ U7 p8 r9 W# f6 @6 y2 b! u
01.jpg
. [* z8 J# r0 j5 s" F4 i4 B( w) \, Y
我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?, M* }% n( ?: w: Z
我试过刷您的v2-1的bootloader,刷完以后USB连接失败。刷bootloader时的起始地址是不是0x08000000。
( p$ Y4 U$ ^/ Y6 j
/ G1 @2 ?$ `7 r) h6 ~( V我刷了您的V2.J27.S6(文件夹\STLINKV2重烧固件),结果不能更新官方FW,不能成功刷成JLINK OB,怎么解决?6 _0 B/ l& e, F  ~( a" }
关于这个板子,您有什么建议?我想把它刷成JLINK OB,当然最好能有CDC。谢谢。! L- ^- W% C' d- Z( a
) r3 s8 p3 @: I" g
割れたリンゴ 回答时间:2018-8-11 09:49:20
zhousun 发表于 2018-8-9 21:15
8 s& T- f( \2 B% \- P3 V  Z谢谢楼主分享!受益匪浅

! O1 i6 g7 l' \% y3 ~言重了
割れたリンゴ 回答时间:2018-8-11 10:08:26
radio2radio 发表于 2018-8-10 21:21+ ~. N; G) b( @! n, R$ @, \/ U# ?5 x: d
我的这个STLINK v2,虽然是128KB的,是不是刷不了v2-1的固件?
; D; \1 b, _" d! s- Z: a& I我试过刷您的v2-1的bootloader,刷完以后U ...

$ k9 z- A8 j$ f9 A* _" L! c; y巧了,这个类型的板子我同学有一个,前几天接反电源烧掉了,32都识别不到了,由于我没有qfn48的32芯片我给它换上了一个c8t6哈哈,仔细看看的话这个板子是lqfp48的封装,只不过一部分被顶层阻焊给盖住了
3 n- `) M4 k& Y! f& t" d. {) V我用风枪吹下qfn48,再用砂纸把周围的阻焊磨掉,正好可以放下c8t6,焊接完成后刷了stlinkv2,正常使用中,; w. B. F5 p: V- i7 O8 ?
如果你想这样换的的话,可以换上CBT6,这样就可以刷成stlinkv2-1(带cdc)然后转成jlinkob(带cdc)
- r% w& l2 I4 h$ `# ~3 T2 n3 |+ w6 l, I+ F4 k1 Z
对应您的情况的话,1 H1 j$ V' G+ W4 G% m
bootloader要一定从0x80000000地址开始下载的( t! L1 C0 {$ H: Q( R
用这个固件(v2-1没解锁读保护版本),刷入后,重新拔插,设备管理器应该会看到stlink driver,然后再用升级软件升级(我用的是stm32cubeprogrammer)4 J9 Q+ ]* G1 v7 ~

6 ?8 r( A: [( _5 `4 W: u如果是从0x80000000下载的话,请告诉我升级时提示什么错误?是容量不够吗还是其它的比如直接识别不到usb; y# R1 Y1 N( C
. Z* @+ j1 e( W% u) d
割れたリンゴ 回答时间:2018-8-11 14:15:52
测试测试
123下一页

所属标签

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