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
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348755
  • HEX
    HEX
    +关注

    关注

    0

    文章

    34

    浏览量

    16712
  • ST-link II
    +关注

    关注

    0

    文章

    3

    浏览量

    5830
收藏 人收藏

    评论

    相关推荐

    在KEIL和STM32 ST-LINK Utility中可以找到或连接到FLASH,但却无法ERASE,怎么解决?

    STM32F030R8 ST-LINK keil_v5 STM32 ST-LINK Utility在KEIL和
    发表于 04-03 07:27

    电脑完成最新升级,STM32 ST-LINK Utility没办法运行提示缺少mfc140.dll文件怎么解决?

    我的电脑完成最新升级,之后STM32 ST-LINK Utility没办法运行。先是提示缺少mfc140.dll文件。我从网上找了个文件放进相关文件夹里面,之后提示如下应用
    发表于 03-29 08:28

    ST-LINK Utility无法连接到P-NUCLEO-WB55.NUCLEO板是为什么?

    ST-LINK Utility 版本 目标开发板是P-NUCLEO-WB55 的NUCLEO64 板,跳线使用STLink供电; 问题是:连接不上开发板,按照UM2550文档操作到下载步骤。
    发表于 03-26 08:08

    ST-link\\Jlink\\串口连接不上stm32怎么解决?

    自己画的板子,再用stlink设置写保护后,就再也无法连接上. 不管是设置sram启动还是系统存储器启动,还是主存储器启动. STM32 ST-LINK Utility或是Jflash. 还是串口都无法连接上
    发表于 03-20 08:19

    STM32 ST-LINK Utility 4.2烧程序,过程中ST LINK的红绿灯一直不停闪烁,显示烧录成功芯片没有反应为什么?

    用的是STM32 ST-LINK Utility 4.2烧程序,这个软件可以识别芯片,过程中ST LIN
    发表于 03-20 07:35

    请问ST-LINK如何在IAR设置下载SWD接口的时钟速度?

    STM32 ST-LINK Utility就有配置设置时钟频率的,否则旧版本固件是灰色的Old firmware提示; 不知道有人是否有做过类似的配置?----
    发表于 03-20 07:31

    ST LINK utilitySTM32G0采用SWD连接,使用ST LINK utility擦除全片程序时擦除不了怎么解决?

    ST LINK utilitySTM32G0采用SWD连接,可通过KEIL下载程序,而使用ST
    发表于 03-14 07:56

    STM32 ST-LINK Utility中开启读保护与在程序中开启RDP的区别是什么?

    STM32F103使用ST-LINK Utility量产模式,选择开启RDP后,单片机Flash读写功能出现问题。但是在程序中开启RDP,同样的程序
    发表于 03-07 08:22

    keil5中debug检测不到st link

    将分析可能的原因并提供解决方法。 一、检查硬件连接: 确保ST-Link已正确连接到目标设备的调试接口,检查USB线缆是否正确连接。 检查ST-Link是否接收到电源供应,确保其指示灯
    的头像 发表于 01-05 14:43 3999次阅读

    有J_LINK插口的STM32怎样使用ST-LINK下载程序

    如题,STM32上带有J_link插口,没有ST_link插口,怎样通过ST-link下载程序
    发表于 11-10 06:00

    如何将ST-Link刷成JLink使用呢?

    论功能性,性能,开放性,支持的芯片,JLink 都算得是 通用调试器界的扛把子,如果在使用ST-Link过程中出现下载或调试失败等问题,可以考虑将ST-Link刷成JLink来使用也是一种不错的选择。
    的头像 发表于 09-28 11:39 2211次阅读
    如何将<b class='flag-5'>ST-Link</b>刷成JLink使用呢?

    STM32 ST-LINK Utility软件说明

    STM32 ST-link Utility软件通过ST-linkST-link/V2工具加快开发环境中
    发表于 08-31 10:53 4次下载

    ST LINK utilitySTM32G0采用SWD连接,ST LINK utility无法擦除全片程序是为什么?

    ST LINK utilitySTM32G0采用SWD连接,可通过KEIL下载程序,而使用ST
    发表于 08-08 08:21

    STM32CubeIDE ST-LINK服务器指南

    电子发烧友网站提供《STM32CubeIDE ST-LINK服务器指南.pdf》资料免费下载
    发表于 08-01 14:57 7次下载
    <b class='flag-5'>STM32</b>CubeIDE <b class='flag-5'>ST-LINK</b>服务器指南

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

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