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

ST-LINK Utility查看内核运行状态

[复制链接]
STMCU小助手 发布时间:2022-10-16 16:32
ST-LINK Utility 是一款针对 STM32 的下载编程工具,目前它被 STM32CubeProgrammer 代替了,官方已经停止更新,但它同样是一款很好的工具,也相对比较稳定。

9 {1 h( R6 g( I8 b: N1ST下载编程工具

针对 STM32 的编程工具,官方出了三个比较常用的工具,分别是:STVP、 ST-LINK Utility 和 STM32CubeProgrammer。


9 ~4 q/ }. V1 O" h1.STVP
STVP:ST Visual Programmer,它是一款比较老的工具,之前ST早期的单片机编程。. l/ n: v5 D% V2 u. `
STVP是一套可视化编程工具,提供了一个面向ST单片机的Flash全功能烧写环境,可方便的用于读取、写入和校验芯片内部存储器与选项字节。

5 j- D4 U; \5 ~/ H" |, R" p6 w/ p& J: t+ F- }
微信图片_20221016163234.jpg

6 B5 _8 w3 A4 _! j" w( a+ H6 G2 L3 @7 O) ^0 r
2.ST-LINK Utility, \! q2 M+ d5 x" a! \1 R- g% f
STM32 ST-LINK Utility是一款比较经典的工具,目前还有很多工程师在用。$ j% o6 n, R" U4 U
它一个最重要的功能就是对STM32进行编程。支持常见的hex、bin文件,还有早期摩托罗拉定义的srec和s19格式的文件(说实话,我都不了解这两种格式的文件)。9 [& q' O  Z8 U* u, ]( s) n) h

' r2 Y1 l" |3 g1 d# u: N. i: B
微信图片_20221016163229.jpg
5 ~5 N2 ?+ X8 ]' D+ G, z

; r; _9 P, L# @1 P+ i+ V- r+ S$ O3.STM32CubeProgrammer
8 W8 Z+ d* H9 }! m! p6 C这个工具大概是前两年推出来的,由于它的推出,官方就基本停止了对 ST-LINK Utility 的更新 (好像推出之后,就更新了最后一版本 V4.5.0)) T7 M% n. U7 {' }% b) g7 e
它的主要功能就是Programmer编程,功能和STM32 ST-LINK Utility有很多相似之处,但引入了一些新的功能。比如UART and USB DFU bootloader。
5 d7 j0 }( B* z$ n7 P/ N$ V* e1 g% @; g# X+ L6 p0 y6 @" G
微信图片_20221016163225.jpg

! u8 Q! b' e; [7 s
- G/ T8 m/ H; Y6 s$ _, Y
& M8 H+ w% \4 S6 m/ i. t1 i2ST-LINK Utility 编程下载
2 S1 B% [' D4 x8 s' \( z9 z3 A) C6 l  ~

+ f& A9 S* U) z0 H! G5 e

STM32 ST-LINK Utility 针对常见的hex、bin文件编程。


/ T! g2 T0 U  B" D0 @6 a4 i这里主要想提示一下初学者:hex带有地址,而bin文件不带地址,下载时需要填写起始地址。
$ B% O3 m/ G1 ]& j  H4 l/ L下面看两张在STM32 ST-LINK Utility中下载选择文件的图大家就明白了。
" k- ~( K! e4 l1 m3 A1.选择hex下载,地址不可修改(灰色)

0 k. r/ k6 ~7 w! _: @+ m$ z# S' m  Z  ?+ _' ^2 ~9 n
微信图片_20221016163221.jpg
) q) s% [: \- h9 }' s
2.选择bin下载,需要填写起始地址
6 N0 I2 F  K# |
. K; b8 ]' D5 K' C+ U$ l
! {0 |: F. L3 S& p+ Z# D, e
微信图片_20221016163217.jpg

/ k: x! s, j  Q( A; Z( L; M3利用ST-LINK Utility查看内核运行状态

本节内容主要想讲述:利用STM32 ST-LINK Utility工具中Hot Plug热插拔模式,查看内核运行状态。

; F, B. V* b4 i# d9 b
1.STM32 ST-LINK Utility模式说明

9 Q* K( |1 X; h" @' R即设置中三种模式选择:. z& C5 n% _) }

7 P2 j" T( A5 m, w9 Z

( U. F, ]! M& v2 g" Z5 o
微信图片_20221016163211.png
, |3 v# @0 j3 m3 \* g

4 K& ]# J" @3 C
5 K6 k9 P* x4 J# h' r5 i
主要有三种,在这个工具的用户手册中可以看到:
5 ~6 S& C& [+ K& F- U! z3 k' Q
6 C. N9 U$ b1 C9 X# M$ C
  d0 M  ~4 g- W3 W
微信图片_20221016163206.jpg
# @9 J9 l- u5 _, e, A7 i& `! L

; p6 Y/ F* g4 c- t2 l  {大概意思是:
3 j  s8 J+ [" K3 ?Normal:常规模式' _* t- b! W  b  I. J$ n8 @. M
连接目标(芯片)之后,芯片复位,然后暂停(halted)。  i& S( B' i/ w
" P' _- ^. L; N) M$ a* G% R
Connect Under Reset:连接复位模式
5 Y* K' p- Q+ e- Y* I3 p
主要用于JTAG/SWD引脚被禁用的时候。$ Y5 ]6 ^9 h5 K( W% d) r

1 n8 i+ p7 q2 j& l' z- MHot Plug:热插拔模式
2 E6 K4 E1 |; R/ F
连接目标芯片,不复位/重置芯片,则此时可以查看芯片状态。
. b  e% O2 M# K. b2.查看内核运行状态硬件连接好:Target -> MCU Core
% R/ `* C2 Z7 x3 U6 l( ^" x

& R8 j  C& o3 _. }1 X7 [. _- }
, I$ G4 I5 a3 Q, P* o, v
微信图片_20221016163202.jpg
& H. H7 Y1 m3 O% o
  a$ K- f$ P$ q- q
为什么讲这一条内容呢?: C" H- w# j) W  h" }7 k
相信大家都遇到或听到过程序跑飞这种情况,当你的程序跑飞,这里讲的内容可能帮助你判断程序是不是处于跑飞状态。
7 I/ ]$ @0 x2 V/ |$ z" c因为这里可以查看MCU内核的运行状态,简单的说就可以查看PC跑到哪儿去了(你应用程序跑如果超过相应区域,说明跑飞了)。

0 n$ J% E  Q$ N% O- q( x
4 I9 {0 T9 W  `  Q
微信图片_20221016163159.png

$ C) a8 G2 C  X% i
  S" R0 a! A" o- a! N  T0 S4 p( W举个例:你应用程序存储在0x08010000 --- 0x08020000 这个范围内,正常运行应用程序应该在这个范围内,但是你发现PC的值为0x08025000(不在范围内),那就说明跑飞了。
' j2 P6 L+ k% q  i4 R; j7 Y, _
3 v1 f: ]7 K8 m- p" Y6 w' a; j这里可以执行的操作有:运行、暂停、系统复位、内核复位、单步运行、读内核寄存器。类似于IDE中的在线调试(IDE在线调试需要有源代码,而这里不需要源代码,可直接查看PC执行到的地址)。

* O8 p4 ^+ g  t% n9 N0 v& c9 N: X. T5 }* _% I, s! b9 T8 U+ Y
提示:PC:Program Counter即程序计数器寄存器,指向当前执行程序的地址,如果修改它的值,就能改变程序的执行流。(具体可以参看Cortex-M3内核寄存器所在章节)! o% u2 o  I0 z& ]  P
4Option Bytes选项字配置( m3 `. K, N) M) l5 T# B

对Option Bytes操作常用的一个就是对Flash加密(读/写保护)。当然,读写保护可以通过程序代码实现,也可以通过这里说的选项字设置来实现。

5 W% _1 u$ R8 h  x+ ^) z% h! }
拿F401举例:Target ->Option Bytes

8 i6 c2 d+ O% S( b, ?* k2 y+ [9 W4 F$ |. d& t& _
微信图片_20221016163152.png

; ?) b3 [% t. d- k8 W5 |* n. ?$ e+ K0 X0 @1 X; U4 M
STM32 ST-LINK Utility工具还有些特殊功能,可能我们不常用,比如:command line interface命令行接口、external loader developing加载外部程序等,感兴趣的朋友可以参看用户手册研究一下。+ j+ h% Y+ z7 k8 ~) I% I$ N
好了,本文就分享以上几点内容,希望对你们有所帮助。
7 T; m6 ^' k- f! P; o* _
  j' o- S; \# s* G; O  l* n# S  R% |4 i+ B
% K/ h3 l* a( y; E; i8 h
转载自:strongerHuang
7 D: n2 t( K: Q
+ h  W; G# N  Z! N7 H: N) q; ^5 @8 n' }
; V5 Z# T' }! V* Z6 t8 W
赞 收藏 评论0 发布时间:2022-10-16 16:32

举报

0个回答

所属标签

相似技术帖

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