STM32程序进入hardfault_handler()

背景:

假期前一直在修改代码,没有边改边测。节后回来测试代码,发现程序上电后很快就进入hardfault_handler()中断。

导致程序反复复位。

查找原因:

在程序的_it.c文件里有几句代码,如果注释掉不执行,就不会进入hardfault_handler()中断。

很奇怪!

后来才发现,这几句代码里使用了一个变量,这个变量是在其他文件中定义的,所以在_it.c文件里是通过extern关键字引入的。引入的时候,后面的数据类型是uint16_t。而实际上变量定义的地方数据类型是uint8_t

这样一来,不就访问越界了吗!所以进入.hardfault_handler()。

要是keil软件能提示下这种错误就好了!

相关推荐
python百炼成钢14 分钟前
10.串口
linux·stm32·单片机·嵌入式硬件
腾飞的信仰4 小时前
为什么有的mcu烧录的时候是用hex,有的是用bin
单片机
Rotion_深5 小时前
单片机 看门狗的作用
单片机·嵌入式硬件
Jason_zhao_MR6 小时前
RK3576机器人核心:三屏异显+八路摄像头,重塑机器人交互与感知
linux·人工智能·嵌入式硬件·计算机视觉·机器人·嵌入式·交互
San_a dreamer fish7 小时前
韦东山嵌入式入门笔记之——应用开发基础篇(七)电阻屏和电容屏
嵌入式硬件
【云轩】7 小时前
RS-485稳定通信的三大基石:接地、线序与终端电阻
单片机·嵌入式硬件
电鱼智能的电小鱼8 小时前
基于电鱼 ARM 工控机的AI视频智能分析方案:让传统监控变得更聪明
网络·arm开发·人工智能·嵌入式硬件·算法·音视频
充哥单片机设计8 小时前
【STM32项目开源】基于STM32的智能水质检测系统
stm32·单片机·嵌入式硬件
wuk9988 小时前
基于STM32平台的ADS1292心电采集驱动程序
stm32·单片机·嵌入式硬件
gihigo19989 小时前
基于STM32F4系列MCU和CS5530 24位SDADC的称重传感器系统实现
stm32·单片机·嵌入式硬件