搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
代码创新者
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
golang使用energy开发GUI桌面程序,CEF,LCL_golang energy
2
nginx-ingress配置跨域_nginx-ingress 跨域
3
LeetCode 简单算法题_given n= 6, pn/=[-3, 4, 3, -2, 2, 5],k=4 we can se
4
c#反射用法
5
APT攻击各阶段简介_apt攻击步骤
6
python——绩点计算_python绩点计算
7
AI绘画——了解AI绘画爆火原因与工具,并生成几个端午绘画小作品
8
回归预测 | MATLAB实现CNN(卷积神经网络)多输入单输出_matlab中卷积神经输出层
9
java多线程测试websocket demo(使用文件流)
10
MySQL insert into select锁表的问题(上)_mysql tables in use 2, locked 2
当前位置:
article
> 正文
STM32发生HardFault_Handler错误的查找方法_hardfault_handler的上一步
作者:代码创新者 | 2024-01-31 13:55:12
赞
踩
hardfault_handler的上一步
我遇到的HardFault_Handler错误的原因最最多的原因是数组越界以及指针指飞,其实这两个是差不多的,都是访问了不该访问的地方导致了错误,就像一个路痴,漫无目的的走到了一个陌生的地方……然后就迷路了……然后就木有然后了……(貌似是第一次写原创,我该如何装成经常写的样子……)
以前查找这种错误时比较盲目,就是在程序中缕着流程一步步的查找,逐个屏蔽进行排除,在程序隔一段加个while(1),以及通过串口发出错误状态日志等……这些方法都效率低下,不易查找。相比之下,查看堆栈的方法更加实用,效率也高。
在HardFault_Handler中的while(1)设置断点,然后运行,给它触发HardFault_Handler的条件,然后到断点处之后,查看watch窗口中的Call Stack+Local,也就是堆栈以及局部变量,程序执行到哪一句发生的错误,以及当时各个压栈的函数的各个局部变量的值一目了然,这里记录了死者临死前的五分钟到底对自己做了什么傻事……
如下图,就是对一个地址为NULL的空指针 p 进行解引用操作造成的HardFault_Handler错误
Call Stack+Local窗口内显示了发生错误之前的程序状态,当然,这只是导致程序错误的直接原因,有时候想要找到根源还是要继续花好大的一番功夫的,累积性的,概率性的死机(比如昨天……找BUG的这一惨痛经历,这里就不多说了,说多了全是眼泪……),但是至少是提供了一个瓜藤,你需要做的就是顺藤摸瓜了~把这个BUG消灭掉!
同样的方法还可以扩展到其他编程环境中。各位看客举一反三即可。(截图中是Keil)总之就是一句话:查看错误发生时的堆栈情况。
同样,在visual studio中:
同样,在这里用对空指针进行解引用操作这种错误作为例子,同样通过查看调用堆栈方式以及局部变量来确定错误的位置(当然,没人会像我截图中那样使用,这里只是想凸显一下压栈以及确定错误位置的过程),接下来的工作同样是顺藤摸瓜。
当然,这只是发生HardFault_Handler错误的一种情况而已,像其他还有堆栈溢出,除数为0之类的也会发生该错误。欢迎补充。
还是那句话,不存在不存在BUG的程序,别说Hello World!
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/article/detail/50646
推荐阅读
article
STM32-定时器详解_
stm32
定时器...
定时器作为微控制器不可缺少的外设,在STM32中也是如此。相信不少初学者学到定时器的时候对STM32的学习热情就大打折扣...
赞
踩
article
基于 STM32 的
语音识别
智能家居
控制系统的设计(LD3320
语音识别
芯片+ESP8266 WIF...
基于 STM32 的
语音识别
智能家居
控制系统的设计(LD3320
语音识别
芯片+ESP8266 WIFI模块+DHT11温...
赞
踩
article
STM32+ESP8266(AT固件)连接
阿里云
物联网
保姆级教学(附代码) --3. STM32硬...
请耐心阅读,如有点击不同的操作请重新尝试此节需要仔细理解,细心设置,方能成功第三节4. Web数据可视化。_
stm32
e...
赞
踩
article
HX711压力传感器
学习
一(STM32)...
HX711压力传感器
学习
(STM32)_hx711hx711 目录 原理图: 引脚介绍: HX...
赞
踩
article
STM32 CubeMx教程 -- 基础知识及配置使用教程_
stm32
cubemx教程...
STM32CubeMx 界面介绍、STM32CubeMx 使用教程、RCC时钟配置、SYS配置、时钟树配置、STM32C...
赞
踩
article
第十章 STM32+ESP8266接入机智云 实现小型IOT
智能家居
项目_
stm32
与esp8266...
最近有不少小伙伴私信留言,想要我推出一章能够通过APP进行远程控制并获取传感器信息的实验教程。说实话在嵌入式毕设里边,这...
赞
踩
article
STM32 HAL库常用GPIO函数以及外部中断配置与响应流程_外部中断响应过程...
HAL库常用GPIO函数以及外部中断配置与响应流程_外部中断响应过程外部中断响应过程 Hello...
赞
踩
article
STM32+esp8266实现
单片机
与服务器的WiFi通信_基于
stm32
、esp8266及ov76...
stm32
串口连接esp8266WiFi模块,通过AT指令控制模块进行数据收发,和服务器进行通讯。可以用于
单片机
直接的通...
赞
踩
article
【STM32】步进电机及其驱动(ULN2003驱动28BYJ-48丨按键控制电机旋转)_步进电机ul...
使用STM32作为控制器,ULN2003作为驱动模块驱动28BYJ-48步进电机,可实现通过按键控制电机以不同速度转过不...
赞
踩
article
【STM32】软件I2C的使用 —— 看这一篇就够了(附代码)...
欢迎来到我的博客。今天我想向大家介绍一下STM32软件I2C功能。首先,让我们来了解一下I2C(Inter-Integr...
赞
踩
article
STM32+W5500实现以太网通信_
stm32
spi与w5500...
本篇文章介绍了在STM32平台利用W5500芯片实现以太网通信的原理以及嵌入式代码详解,同时对官方的例程进行了解读,帮助...
赞
踩
article
【Python】Python实现
串口通信
(
Python+Stm32
)_
python
串口通信
...
讲解Python实现
串口通信
的过程和代码,实现了发送字符串(utf-8)数据和十六进制(hex)数据的
串口通信
,并且与自...
赞
踩
article
STM32 HAL库开发——基础篇...
Flash:存放代码SRAM:内存外设1、STM32片内自带SRAM和FLASH,FLASH是用来存储程序的,SRAM是...
赞
踩
article
Clion
使用笔记(C语言、
C++
、
stm32
)_
clion
配置
vs2010
工具集
...
Clion
使用笔记(C语言、
C++
、
stm32
)_
clion
配置
vs2010
工具集
clion
配置
vs2010
工具集
...
赞
踩
article
【
智能家居
入门之环境信息监测】(
STM32
、
ONENET
云平台、
微信
小
程序
、
HTTP
协议)...
作为入门本篇只实现
微信
小
程序
接收下位机上传的数据,之后会持续发布如下项目:①可以实现
微信
小
程序
控制下位机动作,真正意义上...
赞
踩
article
stm32
单片机
主要
优点
有哪些?_
stm32
单片机
的
优点
...
需要根据硬件工程师设计
的
电路来规划需要用到
的
单片机
外设,然后对比你选择
的
单片机
资源是否满足,比如时钟频率,Flash,R...
赞
踩
article
【
毕业设计
】
MPU6050
姿态
解算
姿态
估计 - 物联网
单片机
stm32
...
Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的
单片机
项目教程:
MPU6050
姿态
解算
大家可用于 课程设计 或 ...
赞
踩
article
stm32
MPU6050
姿态
解算
Mahony
互补滤波算法_
mpu6050
姿态
解算...
文章目录1,理论分析1.1
MPU6050
1.2
Mahony
算法原理2,代码实现1.1
MPU6050
初始化及数据读取...
赞
踩
article
STM32
PM2.5(
GP2Y1014AU0F
)
空气质量
传感器_
gp2y1014
stm32
...
链接:https://pan.baidu.com/s/15sUFn2t7EzH-gHBsEo-WWw?此工程是基于江科大...
赞
踩
article
自动
跟随
机器人
:一种简易的
自动
跟随
方案,
自动
跟随
小车、
自动
跟随
平衡小车、
STM32
、基于
超声波
的
自动
...
目的:一种廉价的
跟随
方案,让大家都能够参与进来,技术难度不大,一些人也能够DIY一些属于自己的“
跟随
”
机器人
!并不是要做...
赞
踩
相关标签
stm32
arm
嵌入式硬件
语音识别
智能家居
阿里云
物联网
单片机
信息可视化
数据分析
学习
mcu