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

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

[复制链接]
STMCU小助手 发布时间:2022-10-16 16:32
ST-LINK Utility 是一款针对 STM32 的下载编程工具,目前它被 STM32CubeProgrammer 代替了,官方已经停止更新,但它同样是一款很好的工具,也相对比较稳定。
- s. O9 i# _1 [- G) R5 \2 `/ {$ |6 r
1ST下载编程工具

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

% _) h. e$ K  W3 e! N+ [
1.STVP
STVP:ST Visual Programmer,它是一款比较老的工具,之前ST早期的单片机编程。- C( r9 P) ^* J$ k% m# O( O- X
STVP是一套可视化编程工具,提供了一个面向ST单片机的Flash全功能烧写环境,可方便的用于读取、写入和校验芯片内部存储器与选项字节。
( l: w+ v2 A8 Z2 k+ w* s4 m* C

8 Y- x! u4 _' P
微信图片_20221016163234.jpg
: i7 x# j6 k1 G; M$ H# d* N
1 i; C( F, B+ r, P
2.ST-LINK Utility$ q) j; `% i% s4 T) U' S0 Q6 @
STM32 ST-LINK Utility是一款比较经典的工具,目前还有很多工程师在用。
( L$ g" y2 Q  p9 Z它一个最重要的功能就是对STM32进行编程。支持常见的hex、bin文件,还有早期摩托罗拉定义的srec和s19格式的文件(说实话,我都不了解这两种格式的文件)。
0 I. V3 N" A2 c" F, O4 W
# U. N) [( W/ f6 _5 l/ y; |! S, [
微信图片_20221016163229.jpg
2 y& H% h0 J& |5 `+ L

. T$ Q! ^  c: k! Z, [5 `% K2 s3.STM32CubeProgrammer
0 d' x2 [8 H' i. K& Z/ d这个工具大概是前两年推出来的,由于它的推出,官方就基本停止了对 ST-LINK Utility 的更新 (好像推出之后,就更新了最后一版本 V4.5.0)
) k* v' V* E% w5 h+ k0 ~1 ?/ _3 O它的主要功能就是Programmer编程,功能和STM32 ST-LINK Utility有很多相似之处,但引入了一些新的功能。比如UART and USB DFU bootloader。/ U" v$ H, {' i! j5 r4 \: Z1 A
2 Y0 L, Y" \; g
微信图片_20221016163225.jpg

/ h  C/ G' W0 e8 K( m  F0 a: k
  M8 B' ]9 H) I/ E# A: y# m0 B
" p( I( L9 e$ @3 g0 |  y2ST-LINK Utility 编程下载+ I. v/ J- X/ G: ]. K) o- G$ |
% O" o0 M* I% E! U- |9 j
; }6 w! M0 a$ i% ?

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

! z* T9 P: H' }& ]; F, e8 c
这里主要想提示一下初学者:hex带有地址,而bin文件不带地址,下载时需要填写起始地址。
" w7 r9 P( P: ?+ R6 X) E( T. U5 ~下面看两张在STM32 ST-LINK Utility中下载选择文件的图大家就明白了。1 C9 N$ _# q7 h: E) E2 D) ~1 \
1.选择hex下载,地址不可修改(灰色)
: l1 v! w% ?3 |3 \! k
& x& k+ ?( B) i, @- G0 W* a
微信图片_20221016163221.jpg

, k9 Z6 a( v8 J# R7 {  g. q8 P2 B2.选择bin下载,需要填写起始地址/ D0 s9 ]& l6 S" S" W
* y' k$ i. \& j% k
8 }' L$ Q: a) C8 L- }$ o; v
微信图片_20221016163217.jpg

8 s  w  I  u1 Q) P' \! q) y. U, Z9 h3利用ST-LINK Utility查看内核运行状态

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


/ c8 C5 d8 k4 x! N1.STM32 ST-LINK Utility模式说明

8 D3 v8 c1 F& s- [2 x即设置中三种模式选择:; U' Y3 d1 g5 U2 U8 v0 I

9 w3 k$ |" G, k- {8 E
% G1 w1 D, P% L+ Z
微信图片_20221016163211.png
. y! P: i3 j$ m/ l
6 y4 G) Z2 F/ C- @

5 N. d4 s- h# S8 H6 m8 L主要有三种,在这个工具的用户手册中可以看到:
) r! ?- H' L5 V% k/ T- @. p7 l" e" N9 l) I( i, c
" E! z* c9 V6 R4 c) s; P/ O
微信图片_20221016163206.jpg

1 ^7 l( W3 C. Q" s1 I$ r0 J; K+ o2 `) A3 z
大概意思是:& H8 Q& ~" o$ F& z
Normal:常规模式
$ E/ ^/ D4 [; e9 S连接目标(芯片)之后,芯片复位,然后暂停(halted)。
# \0 x3 g% ~* O! a- Y( y+ p" O1 O' X, M8 c
Connect Under Reset:连接复位模式

7 B  j1 U0 Z  s+ b主要用于JTAG/SWD引脚被禁用的时候。
: }* {/ n5 x9 x3 w" ]+ ]! V. a8 ~! {+ n& e6 R9 @' q
Hot Plug:热插拔模式
8 Z3 N" l% g3 l( _5 e" ~
连接目标芯片,不复位/重置芯片,则此时可以查看芯片状态。
, T9 d( D  t7 A! ]' ?/ \2.查看内核运行状态硬件连接好:Target -> MCU Core
$ Y9 J/ h4 E9 F2 k6 P: e4 L
5 I3 S/ p' y& m2 u8 N' Z0 o
, c) }: x" X5 X- j2 R
微信图片_20221016163202.jpg

. \5 A' J1 s' V9 |1 Y
" [6 W/ d2 _3 [9 }+ k+ P9 f为什么讲这一条内容呢?! z9 f0 t) m& w, J
相信大家都遇到或听到过程序跑飞这种情况,当你的程序跑飞,这里讲的内容可能帮助你判断程序是不是处于跑飞状态。
( [. ]; F+ Y  }* ^( q: o1 o% H因为这里可以查看MCU内核的运行状态,简单的说就可以查看PC跑到哪儿去了(你应用程序跑如果超过相应区域,说明跑飞了)。

! S1 O4 ]  u* _' i8 }- N  V& b3 L- _# b5 K" J5 S2 n0 @
微信图片_20221016163159.png

8 }% y0 i3 \0 P7 w7 n( X! G; G2 Y9 j
举个例:你应用程序存储在0x08010000 --- 0x08020000 这个范围内,正常运行应用程序应该在这个范围内,但是你发现PC的值为0x08025000(不在范围内),那就说明跑飞了。
4 i8 h3 t% I0 W4 }+ o& r: R4 u# k& I4 Y! p' f8 B1 l
这里可以执行的操作有:运行、暂停、系统复位、内核复位、单步运行、读内核寄存器。类似于IDE中的在线调试(IDE在线调试需要有源代码,而这里不需要源代码,可直接查看PC执行到的地址)。
# ~. y( C; @; f( i7 m
+ Z( q+ F2 X6 t  k  a) u
提示:PC:Program Counter即程序计数器寄存器,指向当前执行程序的地址,如果修改它的值,就能改变程序的执行流。(具体可以参看Cortex-M3内核寄存器所在章节)* b; K( L! q7 q9 [) u
4Option Bytes选项字配置" ^2 E' N3 e1 I/ Q4 V$ y: x4 F

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


/ K) v4 |4 B9 I* a) E) h& C1 G拿F401举例:Target ->Option Bytes

6 J2 u: A% `, ?. [5 _6 I! S
. a  C0 k6 N- ]7 T
微信图片_20221016163152.png
! s. d$ l# b! W% i

/ K! w# c) x% ^6 D0 ESTM32 ST-LINK Utility工具还有些特殊功能,可能我们不常用,比如:command line interface命令行接口、external loader developing加载外部程序等,感兴趣的朋友可以参看用户手册研究一下。) V. M% Z4 Z$ b. R) a
好了,本文就分享以上几点内容,希望对你们有所帮助。6 w) w; z* |' {4 z
/ P% S7 S7 S1 l& G
7 g5 Q( v( T- A! m# X4 A& _
: l- g& A9 i( y8 Z
转载自:strongerHuang& \) l8 H1 U) d6 O2 y! L5 a5 i

; b$ b% s$ T- N- e
* j1 Y% }4 N7 L2 w' ~3 J( T  F+ I, M
收藏 评论0 发布时间:2022-10-16 16:32

举报

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