STM32调试诊断工具 | ST-LINK Utility查看内核运行状态

Posted strongerHuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32调试诊断工具 | ST-LINK Utility查看内核运行状态相关的知识,希望对你有一定的参考价值。

关注+星标公众,不错过精彩内容

作者 | strongerHuang

微信公众号 | strongerHuang

ST-LINK Utility 是一款针对 STM32 的下载编程工具,目前它被 STM32CubeProgrammer 代替了,官方已经停止更新,但它同样是一款很好的工具,也相对比较稳定。

1ST下载编程工具

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

1.STVP

STVP:ST Visual Programmer,它是一款比较老的工具,之前ST早期的单片机编程。

STVP是一套可视化编程工具,提供了一个面向ST单片机的Flash全功能烧写环境,可方便的用于读取、写入和校验芯片内部存储器与选项字节。

2.ST-LINK Utility

STM32 ST-LINK Utility是一款比较经典的工具,目前还有很多工程师在用。

它一个最重要的功能就是对STM32进行编程。支持常见的hex、bin文件,还有早期摩托罗拉定义的srec和s19格式的文件(说实话,我都不了解这两种格式的文件)。

3.STM32CubeProgrammer

这个工具大概是前两年推出来的,由于它的推出,官方就基本停止了对 ST-LINK Utility 的更新 (好像推出之后,就更新了最后一版本 V4.5.0)

它的主要功能就是Programmer编程,功能和STM32 ST-LINK Utility有很多相似之处,但引入了一些新的功能。比如UART and USB DFU bootloader。

更多详情可参看文章:

STM32下载编程工具 | STVP介绍、下载、安装和使用教程

STM32下载编程工具 | ST-LINK Utility介绍、下载、安装和使用教程

STM32下载编程工具 | STM32CubeProg介绍、下载、安装和使用教程

2ST-LINK Utility 编程下载

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

这里主要想提示一下初学者:hex带有地址,而bin文件不带地址,下载时需要填写起始地址。

下面看两张在STM32 ST-LINK Utility中下载选择文件的图大家就明白了。

1.选择hex下载,地址不可修改(灰色)

2.选择bin下载,需要填写起始地址

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

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

1.STM32 ST-LINK Utility模式说明

即设置中三种模式选择:

主要有三种,在这个工具的用户手册中可以看到:

大概意思是:

Normal:常规模式

连接目标(芯片)之后,芯片复位,然后暂停(halted)。

Connect Under Reset:连接复位模式

主要用于JTAG/SWD引脚被禁用的时候。

Hot Plug:热插拔模式

连接目标芯片,不复位/重置芯片,则此时可以查看芯片状态。

2.查看内核运行状态

硬件连接好:Target -> MCU Core

为什么讲这一条内容呢?

相信大家都遇到或听到过程序跑飞这种情况,当你的程序跑飞,这里讲的内容可能帮助你判断程序是不是处于跑飞状态。

因为这里可以查看MCU内核的运行状态,简单的说就可以查看PC跑到哪儿去了(你应用程序跑如果超过相应区域,说明跑飞了)。

举个例:你应用程序存储在0x08010000 --- 0x08020000 这个范围内,正常运行应用程序应该在这个范围内,但是你发现PC的值为0x08025000(不在范围内),那就说明跑飞了。

这里可以执行的操作有:运行、暂停、系统复位、内核复位、单步运行、读内核寄存器。类似于IDE中的在线调试(IDE在线调试需要有源代码,而这里不需要源代码,可直接查看PC执行到的地址)。

提示:PC:Program Counter即程序计数器寄存器,指向当前执行程序的地址,如果修改它的值,就能改变程序的执行流。(具体可以参看Cortex-M3内核寄存器所在章节)

4Option Bytes选项字配置

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

拿F401举例:Target ->Option Bytes

STM32 ST-LINK Utility工具还有些特殊功能,可能我们不常用,比如:command line interface命令行接口、external loader developing加载外部程序等,感兴趣的朋友可以参看用户手册研究一下。

好了,本文就分享以上几点内容,希望对你们有所帮助。

------------ END ------------

关注公众号后台回复『STM32开发工具』『单片机』『软件工具』阅读更多相关文章。

回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享

以上是关于STM32调试诊断工具 | ST-LINK Utility查看内核运行状态的主要内容,如果未能解决你的问题,请参考以下文章

STM32开发工具之STM Studio调试和诊断工具讲解

STM32调试诊断工具 | STM Studio介绍下载安装和使用教程

使用ST-LINK V2和openocd调试STM32时出现电压过低的问题及解决

通过STM32 stlink utility工具对ST-LINK芯片信息进行读取和升级以及SWD烧录媒介

STM32CubeIDE使用ITM调试

ST-LINK/V2是怎么和STM32单片机连接的