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

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

3天内不再提示

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

黄工的嵌入式技术圈 ? 来源:黄工的嵌入式技术圈 ? 2020-03-12 09:58 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文围绕STM32 ST-LINK Utility讲几点主要功能及相关拓展知识:

1.STM32编程下载;

2.利用该编程工具查看内核运行状态;

3.Option Bytes选项字配置;

1STM32编程下载

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

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

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

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

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

关于hex和bin的内容请参看我的另两篇文章:

1.关于bin、hex和axf文件格式的描述

2.MDK-ARM如何生产Bin文件

2利用该编程工具查看内核运行状态

之本节内容主要想讲述一下:利用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内核寄存器所在章节)

3Option Bytes选项字配置

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

拿F401举例:Target ->Option Bytes

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

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

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

    关注

    2295

    文章

    11035

    浏览量

    366003
  • HEX
    HEX
    +关注

    关注

    0

    文章

    37

    浏览量

    17165
  • ST-link II
    +关注

    关注

    0

    文章

    3

    浏览量

    5896
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序

    本文详细介绍如何使用ST-LINK/V2和USB转TTL串口板为STM32单片机下载程序,包括STM32启动模式、JTAG与SWD接口对比、驱动安装及官方软件
    的头像 发表于 06-20 17:26 ?656次阅读
    使用USB转TTL串口板和<b class='flag-5'>ST-LINK</b>调试下载器给<b class='flag-5'>STM32</b>单片机下载<b class='flag-5'>程序</b>

    请问STM32U5不支持ST-LINK v2怎么办?

    STM32U5不支持ST-LINK v2怎么办?
    发表于 06-09 07:59

    使用STM32CubeIDE对STM32H7进行开发和调试,CM4始终报\"Failed to read ROM table via AP 3\"错误怎么解决?

    * 确保CM7代码中包含释放硬件信号量的代码,以唤醒CM4 4. **连接测试** : * 使用STM32CubeProgrammer能够成功连接到设备并读取内存 * ST-LINK固件已更新
    发表于 05-14 06:20

    如何判断伺服电机是否损坏

    伺服电机作为工业自动化领域的核心部件,其运行状态直接影响设备效率和生产线稳定性。判断伺服电机是否损坏需要结合多维度检测方法,从基础观察、性能测试到专业诊断层层递进。以下为系统性判断流程
    的头像 发表于 05-12 17:21 ?908次阅读
    如何<b class='flag-5'>判断</b>伺服电机<b class='flag-5'>是否</b>损坏

    keil在debug时出现Cannot access Memory*** error 122: AGDI: memory read failed (0xF81AF008)的原因?怎么解决?

    使用的开发板是ST官方的板子NUCLEO-G474RE,程序能用ST-Link烧录进去,但是没有现象(用的STM32CubeMx配置的初始化)。debug后发现
    发表于 04-23 08:13

    st link驱动教程

    st link驱动,正确驱动后,红灯常亮,否则红灯闪烁
    发表于 04-09 16:00 ?0次下载

    ST-LINKSTM32CubeProgrammer中无法连接到器件怎么解决?

    ST-LINKSTM32CubeProgrammer中无法连接到器件,对比发现serial number有些差别,这个ST-LINK的序列号比较奇怪,有哪位高手可以修改这个序列号么
    发表于 03-14 14:38

    怎样才能使用NUCLEO-H563ZI 识别出ST-LINK

    NUCLEO-H563ZI开发板在接上USB后,ST-LINK 在设备管理器里面没有显示,需要对STLKRST,就是跳线JP3 后拔掉,这是可以识别ST-LINK,然而,用MDK 时,提示
    发表于 03-14 13:59

    使用STM32 ST-LINK Utility和j-flash无法擦除怎么解决?

    在keil烧录程序中直接报错 使用工具擦除报 使用STM32 ST-LINK Utility 和j-flash也无法擦除这个要怎么解决
    发表于 03-12 07:07

    ST-Link读取原设备程序,再写入到新板子里面去,运行指示灯不闪烁是什么原因?

    我用ST-Link读取原设备程序,再写入到新板子里面去,写入成功了,但是运行指示灯不闪烁。不工作。是什么原因?有解决办法吗?
    发表于 03-12 07:03

    使用STM32F407ZGT6芯片做小车主控时,总是在运行时芯片突然被锁,无法下载程序怎么解决?

    在使用STM32F407ZGT6芯片做小车主控时,总是在运行时芯片突然被锁,无法下载程序。 使用STM32 ST-LINK
    发表于 03-11 06:20

    STM32使用STLINK烧录问题上电顺序的疑问求解

    上电,打开STM32 ST-LINK Utility软件连接,会偶发连接不上目标板的问题。3.3V优先无此问题,想问是否跟时序有关,但是手册中没有找到过相关资料
    发表于 03-10 08:01

    STM32WB55RG使用USB ST-LINK连接电脑显示未知USB设备,更新驱动后也没有变化,是什么原因?

    STM32WB55RG使用USB ST-LINK连接电脑显示未知USB设备,更新驱动后也没有变化,这大概是哪里的问题?
    发表于 03-07 07:13

    KMPHM振动在线监测系统智能评估设备运行状态

    KMPHM振动在线监测系统智能评估设备运行状态
    的头像 发表于 10-10 10:23 ?579次阅读
    KMPHM振动在线监测系统智能评估设备<b class='flag-5'>运行状态</b>!

    stm32程序烧录的几种方法?

    微控制器通常具备JTAG接口,可以通过JTAG烧录器进行程序烧录。 1.1 硬件准备 STM32开发板 JTAG烧录器(如ST-LINK、J-Link等) USB线 1.2 软件准备
    的头像 发表于 08-22 09:35 ?1w次阅读