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

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

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

8 M% c# _( {& m1ST下载编程工具

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

$ l6 u+ k6 i7 p% W! ?8 f5 g
1.STVP
STVP:ST Visual Programmer,它是一款比较老的工具,之前ST早期的单片机编程。
( C& L% `+ g" K9 Z/ V2 T3 K! zSTVP是一套可视化编程工具,提供了一个面向ST单片机的Flash全功能烧写环境,可方便的用于读取、写入和校验芯片内部存储器与选项字节。
$ i$ ^- e! {1 q* H0 L- A
8 |7 A0 }1 L3 @5 C( n  z
微信图片_20221016163234.jpg

' x$ h0 S/ s! d, C  o0 Q1 }: t
0 \: {( ~3 T$ p6 r5 k2.ST-LINK Utility9 y  z3 n! i$ l% W4 K
STM32 ST-LINK Utility是一款比较经典的工具,目前还有很多工程师在用。6 Z* K. ]9 f% X& f9 {# `
它一个最重要的功能就是对STM32进行编程。支持常见的hex、bin文件,还有早期摩托罗拉定义的srec和s19格式的文件(说实话,我都不了解这两种格式的文件)。
& X! d. \) e1 w- ?% T" V2 S# A: H2 m" o/ |1 _6 j; r
微信图片_20221016163229.jpg

2 w- _. S/ Y9 _: ]" ?, V" R  Z; @& w4 E- O2 w- q  E/ J2 ]
3.STM32CubeProgrammer
4 E9 p7 _" @. l2 A这个工具大概是前两年推出来的,由于它的推出,官方就基本停止了对 ST-LINK Utility 的更新 (好像推出之后,就更新了最后一版本 V4.5.0)
4 s( n' g0 V) L! r& G( g它的主要功能就是Programmer编程,功能和STM32 ST-LINK Utility有很多相似之处,但引入了一些新的功能。比如UART and USB DFU bootloader。/ o+ ~# {5 M" O: t3 @, I8 K/ B" a0 N
/ e3 R% I, l6 n6 s3 A  S8 r& k
微信图片_20221016163225.jpg
, p* ^! N( e0 W* B% D$ J

1 }+ {& X& f, O/ w$ I0 }  q. e& X" h0 x
2ST-LINK Utility 编程下载, ^' Y) T* U! A
& q7 C* ~! Z3 |8 m/ C" |
" y+ n0 e  A' `' ~# }

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


  D  [2 R0 C: b/ U这里主要想提示一下初学者:hex带有地址,而bin文件不带地址,下载时需要填写起始地址。
1 N* i6 n1 u' g- n# G下面看两张在STM32 ST-LINK Utility中下载选择文件的图大家就明白了。
+ x5 F+ J7 q+ d2 Q8 v1.选择hex下载,地址不可修改(灰色)

: K5 Q4 ^1 U) q, E
9 p% [& N7 y# N2 P
微信图片_20221016163221.jpg
# d) t- x( m  A
2.选择bin下载,需要填写起始地址" U) d5 m, A  Q% d/ ~
* c! Q, M, h4 z) O

5 q: Q* J) L- @8 ^$ I# v1 u
微信图片_20221016163217.jpg
' h" B- j- k$ R2 j: t
3利用ST-LINK Utility查看内核运行状态

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

7 u6 D! G2 y2 g% |/ ^" }, n' B
1.STM32 ST-LINK Utility模式说明
2 b9 z' g0 K; |) Y. v4 T4 m
即设置中三种模式选择:
6 H, i- E0 a0 Y" \" A# {- Y  x) {/ N" ^; b1 Y( ]* J

6 v. L% f, {7 u) l6 T* z/ u; I6 o
微信图片_20221016163211.png

2 C& E9 @: \. y# U! x, |6 Z0 T- g
) G4 P5 r1 Z; b; f

- V6 x( a! w! B5 G% C; T+ \7 R主要有三种,在这个工具的用户手册中可以看到:
4 d7 ]% t0 ^5 X, b& F
" Y) D% [# T1 |- @& R3 f* i
4 i( Y. Q) G' p: W: _- h) C3 V
微信图片_20221016163206.jpg

# g5 z" ^3 k% |  L
- m" [3 i, [. r+ J7 E! y大概意思是:
1 h1 L. v- \) BNormal:常规模式1 I) L+ ^/ n. W7 I
连接目标(芯片)之后,芯片复位,然后暂停(halted)。
1 y* _1 |$ m% Y& a$ e: a
& U( o2 r( E6 o$ g2 nConnect Under Reset:连接复位模式
' R1 V+ i) Y6 a: Z
主要用于JTAG/SWD引脚被禁用的时候。. x3 i: Z) [! i0 W7 v' }
9 R  z* T+ d' p4 ~, t' K* j9 b2 N! g
Hot Plug:热插拔模式
  H! c) V  `% i4 X! K
连接目标芯片,不复位/重置芯片,则此时可以查看芯片状态。
! P! A" V  w+ X, w& u3 V; S* ~2.查看内核运行状态硬件连接好:Target -> MCU Core
/ q* a! l, [" [6 V" ?
/ U) M& a  \' U; O# z: C

8 d5 h3 d" j, z8 ]2 Y0 {
微信图片_20221016163202.jpg
3 }+ U7 E5 f# G
, B. T, L' p- h- a8 y6 Y
为什么讲这一条内容呢?( j( U# U& J' l+ o
相信大家都遇到或听到过程序跑飞这种情况,当你的程序跑飞,这里讲的内容可能帮助你判断程序是不是处于跑飞状态。8 p; X  {, d1 `% `1 y6 n+ X
因为这里可以查看MCU内核的运行状态,简单的说就可以查看PC跑到哪儿去了(你应用程序跑如果超过相应区域,说明跑飞了)。
3 S7 e. `% x3 X" j$ ?

+ |; Z" d: C" ^
微信图片_20221016163159.png

3 o. i! B, j; M# r4 A+ Y1 i
, H1 Z8 i5 D1 M4 V0 ^0 B) f举个例:你应用程序存储在0x08010000 --- 0x08020000 这个范围内,正常运行应用程序应该在这个范围内,但是你发现PC的值为0x08025000(不在范围内),那就说明跑飞了。: Z$ ?) y. R7 d

- m4 n  u& j. Z这里可以执行的操作有:运行、暂停、系统复位、内核复位、单步运行、读内核寄存器。类似于IDE中的在线调试(IDE在线调试需要有源代码,而这里不需要源代码,可直接查看PC执行到的地址)。
4 N5 S2 q; x5 ]0 F& H: \: p: O
4 X1 S, _5 |8 _. q% X
提示:PC:Program Counter即程序计数器寄存器,指向当前执行程序的地址,如果修改它的值,就能改变程序的执行流。(具体可以参看Cortex-M3内核寄存器所在章节)+ ^1 O4 `" B- w4 B  N" T
4Option Bytes选项字配置  M  T3 F6 W2 i0 @9 A1 A- c5 ^

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


) ~* _/ _/ {- A9 k% I2 [5 [拿F401举例:Target ->Option Bytes

5 ]' B0 i( E1 Z7 a
' |! t2 F& b+ R, j
微信图片_20221016163152.png

, _! ~8 x# V  X' g9 @; I3 [: M
( |) m& m2 k* W' ~3 ~2 p8 d0 ySTM32 ST-LINK Utility工具还有些特殊功能,可能我们不常用,比如:command line interface命令行接口、external loader developing加载外部程序等,感兴趣的朋友可以参看用户手册研究一下。
7 x2 H+ O$ C' p4 ]% C% f/ M9 E9 m好了,本文就分享以上几点内容,希望对你们有所帮助。
2 ~: A/ e& b! l) T" E- j/ A, m: [, m  x$ a4 T. k
7 T1 d: q! B1 ~  H" r

; i, F2 @& Y" {% K1 U/ ]转载自:strongerHuang
2 r- |5 G8 f- t: I, M; f! {, R% w5 B  u( @' A

: [: O4 j; D9 Z0 N
赞 收藏 评论0 发布时间:2022-10-16 16:32

举报

0个回答

所属标签

相似技术帖

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