历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2021年02月01日 | 利用STM32 ST-LINK Utility查看内核运行状态

2021-02-01 来源:eefocus

本文围绕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加载外部程序等,感兴趣的朋友可以参看用户手册研究一下。


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


推荐阅读

史海拾趣

上海双岭电子(Double-peak)公司的发展小趣事

上海双岭电子自成立以来,一直致力于场效应半导体器件的研发和生产。在成立初期,公司面临着技术瓶颈和市场竞争的双重压力。然而,双岭电子的创始人团队凭借对技术的执着追求和对市场的敏锐洞察,成功研发出具有自主知识产权的结型场效应晶体管,并迅速在航空、通讯等领域打开了市场。这一创新不仅为公司带来了丰厚的利润,也奠定了双岭电子在电子行业中的领先地位。

EMS GmbH公司的发展小趣事

EMS GmbH公司自创立之初,就专注于汽车转换器注塑件(微动开关)的研发和生产。公司投入大量资源进行技术创新,逐步积累起了一系列核心专利技术。这些技术不仅涵盖了汽车转换器注塑件生产的所有关键技术,还获得了多个国际品质管理组织机构及主流整车厂的双重、三重认证。这些专利技术的积累,使EMS GmbH公司在汽车转换器注塑件领域确立了行业领先地位。

ELECTRONIC ASSEMBLY公司的发展小趣事

在电子组装行业,品质是企业的生命线。一家名为“品质电子组装”的公司,从创立之初就坚持以品质为核心竞争力。公司引进了国际先进的生产设备和管理体系,建立了严格的质量控制体系,确保每一件产品都符合高标准、严要求。正是凭借着对品质的坚守和追求,品质电子组装赢得了客户的广泛赞誉和信赖,逐渐在行业中树立了良好的口碑。

Heyco公司的发展小趣事

随着全球化趋势的加剧,Heyco开始积极拓展海外市场。公司在欧洲市场取得长足发展的同时,也逐步进入北美和亚太地区。通过在全球各地建立销售网络和生产基地,Heyco实现了产品的全球化生产和销售。这一战略不仅提升了公司的市场份额,还进一步巩固了其在电子工业备品备件销售领域的领先地位。

Hoffman_Enclosures__Inc.公司的发展小趣事

随着时间的推移,Hoffman公司不断拓展其产品线,从最初的安全保护装置逐渐扩展到包括标准机箱机柜、冷却产品及各种定制化电气方案。为了满足全球客户的需求,Hoffman在多个地区建立了生产基地和研发中心,特别是在亚太地区,青岛的研发及制造中心成为公司全球化战略的重要一环。这一布局不仅提升了公司的生产效率,也确保了产品在全球范围内的快速响应和高质量服务。

Discera公司的发展小趣事

Discera公司的产品在性能和稳定性上表现出色,很快就引起了美国军方的关注。经过严格的测试和评估,Discera的CMOS MEMS谐振器成功通过了美国军方的质量可靠性测试,并获得了军方的认证。这一成就不仅证明了Discera产品的卓越性能,也为公司进一步拓展军用市场打下了坚实的基础。

问答坊 | AI 解惑

前几天终于调试好的一款带字库128×128点阵模块[资料已发布]

开发这款128×128点阵液晶模块有以下几个特点: 1、自带6×10、8×16点的ASCII吗西文字符库;2、自带12×12、16×16点的一级、二级中文汉字库;3、自带基本GUI绘图功能(绘点、直线、矩形、矩形框、实心圆、圆框);4、自带整型数显示功能,直接输 ...…

查看全部问答>

如何在modelsim中仿真ram

我用的altera的芯片,quartus+modelsim,以前做过仿真ROM的,就是将mif文件通过quartus转换成hex文件,再修改modelsim的一个安装文件,不知道RAM的仿真是不是也是这么做 我把quartus中通过向导生成的RAM的.v文件拷贝到modelsim中不能用说是端口没 ...…

查看全部问答>

ARM 嵌入式main()的运行过程

刚入手嵌入式, 看了一些资料, 有一点不是很明白,就是在做完初始化init.s的操作之后,系统转入main()入口,那么这之后系统是如何捕获消息并触发相应的时间的??应该在哪写这些代码呢??…

查看全部问答>

编译好的elf文件会被程序烧写器烧写到flash的什么位置?

问一个嵌入式开发中比较基础的问题。 编译好的elf文件会被程序烧写器烧写到flash的什么位置?flash中会包含efl头,短头表吗?是不是和链接文件有关? 我的开发环境是mpc55xx + windriver编译器 烧写器是multi usb for mpc55xx. 我的链接文件: ...…

查看全部问答>

制作LED日光灯电源全过程

replyreload += \',\' + 763499;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

组网时zigbee节点允许的移动速度最大是多少?

要做移动节点组网,想知道用zigbee能否实现?组网时节点的最大移动速度是多少?多谢!…

查看全部问答>

农大电视遥控解码

农大寝室电视遥控红外解码按键0到9的解码。   今天试了我n++的时间才试出来的解码 除了前引导码。后面就是就只有24位码。。。 这24位码应该是这样的:前12位为正常的码。后12位为饭码; 但是我感觉正常码最前面几个位应该还是地址码 ...…

查看全部问答>

有关N,P,K含量测定的问题

请问谁知道有什么传感器可以检测农田里面的N,P,K含量嘛?在网上找了好久没找到,都是用化学法或光谱法来测定而且好多停留在实验室内,希望各位朋友可以提些建设性的意见!…

查看全部问答>

基于Hercules的惯性导航系统

通过 Hercules AD读取传感器坐标信息和加速度信息,然后使用Hercules强大的运算处理能力计算运动路径。我就是一说,不知道可行不。…

查看全部问答>