STMCU小助手
发布时间:2022-10-16 16:32
|
ST-LINK Utility 是一款针对 STM32 的下载编程工具,目前它被 STM32CubeProgrammer 代替了,官方已经停止更新,但它同样是一款很好的工具,也相对比较稳定。 1ST下载编程工具 针对 STM32 的编程工具,官方出了三个比较常用的工具,分别是:STVP、 ST-LINK Utility 和 STM32CubeProgrammer。 1.STVPSTVP:ST Visual Programmer,它是一款比较老的工具,之前ST早期的单片机编程。. l/ n: v5 D% V2 u. ` STVP是一套可视化编程工具,提供了一个面向ST单片机的Flash全功能烧写环境,可方便的用于读取、写入和校验芯片内部存储器与选项字节。 " p6 w/ p& J: t+ F- }
( 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
3.STM32CubeProgrammer 这个工具大概是前两年推出来的,由于它的推出,官方就基本停止了对 ST-LINK Utility 的更新 (好像推出之后,就更新了最后一版本 V4.5.0)) T7 M% n. U7 {' }% b) g7 e 它的主要功能就是Programmer编程,功能和STM32 ST-LINK Utility有很多相似之处,但引入了一些新的功能。比如UART and USB DFU bootloader。 1 g% @; g# X+ L6 p0 y6 @" G
2ST-LINK Utility 编程下载 ( z9 z3 A) C6 l ~ STM32 ST-LINK Utility 针对常见的hex、bin文件编程。 这里主要想提示一下初学者:hex带有地址,而bin文件不带地址,下载时需要填写起始地址。 下面看两张在STM32 ST-LINK Utility中下载选择文件的图大家就明白了。 1.选择hex下载,地址不可修改(灰色) $ z# S' m Z ?+ _' ^2 ~9 n
2.选择bin下载,需要填写起始地址 ! {0 |: F. L3 S& p+ Z# D, e
3利用ST-LINK Utility查看内核运行状态 本节内容主要想讲述:利用STM32 ST-LINK Utility工具中Hot Plug热插拔模式,查看内核运行状态。 ; F, B. V* b4 i# d9 b1.STM32 ST-LINK Utility模式说明 即设置中三种模式选择:. z& C5 n% _) }
5 K6 k9 P* x4 J# h' r5 i 主要有三种,在这个工具的用户手册中可以看到: d0 M ~4 g- W3 W
大概意思是: 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 Hot Plug:热插拔模式2 E6 K4 E1 |; R/ F 连接目标芯片,不复位/重置芯片,则此时可以查看芯片状态。 2.查看内核运行状态硬件连接好:Target -> MCU Core% R/ `* C2 Z7 x3 U6 l( ^" x , I$ G4 I5 a3 Q, P* o, v
a$ K- f$ P$ q- q 为什么讲这一条内容呢?: C" H- w# j) W h" }7 k 相信大家都遇到或听到过程序跑飞这种情况,当你的程序跑飞,这里讲的内容可能帮助你判断程序是不是处于跑飞状态。 因为这里可以查看MCU内核的运行状态,简单的说就可以查看PC跑到哪儿去了(你应用程序跑如果超过相应区域,说明跑飞了)。
举个例:你应用程序存储在0x08010000 --- 0x08020000 这个范围内,正常运行应用程序应该在这个范围内,但是你发现PC的值为0x08025000(不在范围内),那就说明跑飞了。 这里可以执行的操作有:运行、暂停、系统复位、内核复位、单步运行、读内核寄存器。类似于IDE中的在线调试(IDE在线调试需要有源代码,而这里不需要源代码,可直接查看PC执行到的地址)。 & 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 + [9 W4 F$ |. d& t& _
$ 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 好了,本文就分享以上几点内容,希望对你们有所帮助。 ; O l* n# S R% |4 i+ B % K/ h3 l* a( y; E; i8 h 转载自:strongerHuang ; V5 Z# T' }! V* Z6 t8 W |
兔哥的L4【001】——32脚的小板
拷打cubemx【001】——艰难的选型路
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
【STM32H7S78-DK评测】CoreMark移植和优化--兼记printf重定向实现方法及常见问题
【STM32H7S78-DK评测】移植AI框架TensorFlow【DSP指令加速篇】
【STM32H7S78-DK评测】开发板初识与工程模板创建
【STM32H7S78-DK评测】搭建基于ST官方VSCode扩展的STM32开发环境
[STM32WB55评测] 开箱
通过 STLINK-V3SET I2C 接口将程序下载到 SRAM 中并执行的方法
ST IO-Link 从站执行器设计方案
微信公众号
手机版