stm32 挂死定位(死循环)

ops/2024/11/12 15:00:15/

1,调式程序时先看初始化和轮询点灯流程,如果灯没有闪烁则表明程序进入了死循环。

2,程序调式进入调式debug接口;

3,打断点依次运行;

4,查看寄存器;

 LR在异常后通常为0xFFFFFFFx,指示异常前的返回地址。根据LR的ReturnStack判断PSP或MSP,找到栈顶获取返回地址,从而追溯到异常发生前的代码位置.

程序异常后 LR会是以下的一种。

5,dissassemly进入查看反汇编; 

当进入中断时,CPU依次将xPSR,PC(Return Address),LR,R12,R3-R0压入堆栈。

如果进入了HardFault中断,LR寄存器的值为0xFFFFFFxx;此时看SP寄存器的值;SP寄存器是RAM的某个地址。

0x08000735查看程序挂死位置。

HardFault属于异常,所以出现HardFault,挂死原因。

/*** @brief  This function handles Hard Fault exception.***/void HardFault_Handler(void)
{/* Go to infinite loop when Hard Fault exception occurs */while (1){}
}


http://www.ppmy.cn/ops/132255.html

相关文章

GS-Blur数据集:首个基于3D场景合成的156,209对多样化真实感模糊图像数据集。

2024-10-31,由韩国首尔国立大学的研究团队创建的GS-Blur数据集,通过3D场景重建和相机视角移动合成了多样化的真实感模糊图像,为图像去模糊领域提供了一个大规模、高覆盖度的新工具,显著提升了去模糊算法在真实世界场景中的泛化能力…

智能存储解决方案:探索 TDengine 的多级存储功能

在当今数据驱动的时代,如何高效地存储和管理海量数据已成为企业面临的一大挑战。为了应对这一需求,TDengine Enterprise 不仅支持使用对象存储(S3),还早已引入了独特的多级存储功能。这一功能不仅能够降低存储成本&…

ffmpeg视频滤镜:组合两个视频为立体视频- framepack

视频描述 framepack 官方网址 > FFmpeg Filters Documentation 这个滤镜会将两个视频进行组合,有个前提是这两个视频的帧率、分别率必须一样。比如输入的是两个852x480 视频,输出可能是1704*480(左右拼接)、852*960&#xf…

第四章:TDengine 的客户端管理工具 DBeaver

TDengine 的客户端管理工具 DBeaver DBeaver 是一款流行的跨平台数据库管理工具,方便开发者、数据库管理员、数据分析师等用户管理数据。DBeaver 从 23.1.1 版本开始内嵌支持 TDengine。 前置条件 使用 DBeaver 管理 TDengine 需要以下几方面的准备工作。 安装 …

C++ --- 异步编程

目录 一.什么是异步?同步与异步有什么区别? 1.定义: 2.两者区别: 3.两者优缺点: 4.应用场景: 二.C异步编程入门: 1.使用future与async进行异步处理: 2.使用future与promise进行…

关于git命令

大概步骤如下&#xff1a; 推送 git add . git commit -m "xxx" git pull git push origin master/branch2.1 其他 git reset <file> 移除暂存区的特定文件(git add 错了&#xff0c;想撤回就用这个) git reset --soft HEAD~1 撤回最近的 commit&#xff…

第一章 Linux安装 -- 安装Debian 12操作系统(四)

文章目录 2.3.4 安装Debian 12操作系统 2.3.4 安装Debian 12操作系统 虚拟机的创建参照前面2.3.1.3节里的步骤创建&#xff0c;这里不再详述。 下面就开始安装Debian 12系统了&#xff0c;单击“开启此虚拟机”&#xff0c;如图1-161虚拟机主界面。 图1-161 虚拟机主界面 弹…

科研绘图系列:R语言组合堆积图(stacked plot)

文章目录 介绍加载R包数据数据预处理画图1画图2组合图形系统信息介绍 堆积图(Stacked Chart),也称为堆叠图,是一种常用的数据可视化图表,主要用于展示不同类别的数据量在总体中的分布情况。堆积图可以是柱状图、条形图或面积图的形式,其中各个类别的数据量被叠加在一起,…