0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一下用ST-LINK Utility识别单片机程序是否跑飞

硬件攻城狮 来源:strongerHuang 2024-01-09 11:40 次阅读

最近有网友大概问了这样的问题:单片机项目偶尔经常出现异常,不知道是程序跑飞了,还是进入某个死循环了。

因为发生概率比较低,也没有规律,所以没办法在线调试查找问题。

结合这个问题,给大家分享一下用ST-LINK Utility识别单片机程序是否跑飞。

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

做想要知道单片机是否跑飞,可以利用ST-LINK Utility查看内核运行状态。

利用STM32 ST-LINK Utility工具中Hot Plug热插拔模式,查看内核运行状态

1.STM32 ST-LINK Utility模式说明

即设置中三种模式选择:

wKgaomWcwCuAPVs1AAAf5dMrcOY686.jpg

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

wKgaomWcwCuAD9p-AAEb6WZQoq8056.jpg

大概意思是:

Normal:常规模式

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

Connect Under Reset:连接复位模式

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

Hot Plug:热插拔模式

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

2.查看内核运行状态

硬件连接好:Target -> MCU Core

wKgaomWcwCuAEXu9AADRj_i2AMU256.jpg

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

wKgZomWcwCuAQ26AAAAwY-knNj4061.jpg

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

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

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

Option Bytes选项字配置

这里额外说一下选项字配置的内容。

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

拿F401举例:Target ->Option Bytes

wKgZomWcwCuAC-s_AAAnaCp4lJc728.jpg

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






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620832
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348743
  • st-link
    +关注

    关注

    1

    文章

    42

    浏览量

    9461

原文标题:如何识别单片机是否程序跑飞?一招轻松解决!

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CS32F030/031程序使用 ST-LINK Utility不能烧录报错

    ,重启计算机,其它什么程序都不要开,只开ST-Link Utility;6、如果使用虚拟VMware等时,请把ST-Link的USB设备切
    发表于 02-20 21:33

    STM32F030RCT6使用STM32 ST-LINK Utility烧录死活连不上

    首先说一下我的硬件:烧录器:ST-LINK V2单片机:STM32F030RCT6使用STM32 ST-LINK Utility烧录,死活连
    发表于 08-09 07:54

    利用ST-LINK配合ST-LINK Utility将弄好的字模bin文件导入到FLASH指定地址

    V2连接单片机和计算机,然后通过ST-LINK Utility 软件的配合将弄好的字模bin文件导入到FLASH指定地址。下面记录一下整个过程:1.连接
    发表于 02-18 06:33

    STM32 ST-link Utility_v3.3.0

    STM32 ST-link Utility_v3.3.0,用来给自制ST link烧录固件
    发表于 08-24 17:42 151次下载

    自制 ST-link 固件

    自制 ST-link 固件(使用STM32 ST-link Utility_v3.3.0工具烧录)
    发表于 08-24 17:42 21次下载

    STM32 ST-link Utility_v3.1.0应用程序软件免费下载

    本文档的主要内容详细介绍的是STM32 ST-link Utility_v3.1.0应用程序软件免费下载。
    发表于 09-26 11:45 57次下载
    STM32 <b class='flag-5'>ST-link</b> <b class='flag-5'>Utility</b>_v3.1.0应用<b class='flag-5'>程序</b>软件免费下载

    STVD、 STVP、 ST-LINK utility这些工具你了解吗?

    STVD、STVP、ST-LINK utility这些工具你了解吗?
    的头像 发表于 03-04 13:48 6900次阅读

    关于STM32 ST-LINK Utility查看内核运行状态,助你判断程序是否跑飞

    利用STM32 ST-LINK Utility查看内核运行状态,助你判断程序是否跑飞
    的头像 发表于 03-12 09:58 4245次阅读

    STM32 ST-LINK Utility介绍、 下载、安装、使用方法

    STM32 ST-LINK Utility介绍、下载、安装、使用方法
    的头像 发表于 03-24 13:55 5.3w次阅读
    STM32 <b class='flag-5'>ST-LINK</b> <b class='flag-5'>Utility</b>介绍、 下载、安装、使用方法

    STM32 ST-LINK Utility软件的使用教程免费下载

    STM32 ST-LINK Utility软件通过ST-LINKST-LINK/V2工具加快开发环境中STM32微控制器系列的系统内编程。本用户手册介绍了STM32
    发表于 09-24 08:00 14次下载
    STM32 <b class='flag-5'>ST-LINK</b> <b class='flag-5'>Utility</b>软件的使用教程免费下载

    STM32笔记--使用ST-Link下载hex文件

    ST-LINK Utility,只需三步,就能将hex文件下载到单片机中,相比使用串口下载hex文件繁琐的步骤操作,真香1 ST-LINK Uti
    发表于 12-23 18:55 10次下载
    STM32笔记--使用<b class='flag-5'>ST-Link</b>下载hex文件

    利用ST-LINK配合ST-LINK Utility 将bin文件下载到STM32的FLASH中

    V2 连接单片机和计算机,然后通过ST-LINK Utility 软件的配合将弄好的字模bin文件导入到FLASH指定地址。下面记录一下整个过程:1.连接
    发表于 12-23 18:58 21次下载
    利用<b class='flag-5'>ST-LINK</b>配合<b class='flag-5'>ST-LINK</b> <b class='flag-5'>Utility</b>  将bin文件下载到STM32的FLASH中

    ST-Link V2.1 制作使用

    固件更新官方ST-Link驱动bin文件生成资源下载前言新的STM32单片机可以通过常见的 J-Link, ST-Link, 开源的DAP-Lin
    发表于 12-23 19:00 33次下载
    <b class='flag-5'>ST-Link</b> V2.1 制作使用

    解决ST-Link Utility出现Can not connect to target!的问题

    ST-Link Utility需要配套ST-Link烧录器才能使用,是针对ST单片机的量产烧录工具软件。
    的头像 发表于 05-25 15:26 9606次阅读
    解决<b class='flag-5'>ST-Link</b> <b class='flag-5'>Utility</b>出现Can not connect to target!的问题

    STM32 ST-LINK Utility软件说明

    STM32 ST-link Utility软件通过ST-linkST-link/V2工具加快开发环境中STM32微控制器系列的系统内编程。本用户手册介绍了STM32
    发表于 08-31 10:53 4次下载