STM32程序进入hardfault_handler()

背景:

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

导致程序反复复位。

查找原因:

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

很奇怪!

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

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

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

相关推荐
czhaii1 小时前
MP3音乐播放器【FatFs+SD/TF卡+I2S-DAC】@STC32G144K246,实时解码MP3
单片机·硬件工程
炸膛坦客2 小时前
FreeRTOS 学习:(二十五)任务时间统计相关 API 函数
stm32·操作系统·freertos
时光の尘3 小时前
【STM32】两万字详解SD卡移植最新版本FatFs文件系统(ff16)
stm32·mcu·dma·sd·fatfs·sdio·ff16
bai5459365 小时前
STM32 CubeIDE 使用串口中断模式
stm32·单片机·嵌入式硬件
qq_401700415 小时前
基于TMI6263BH芯片USB2.0 3.0电源控制与限流保护原理图
单片机·嵌入式硬件
fanged6 小时前
STM32(4)--时钟树
stm32·单片机·嵌入式硬件
List<String> error_P6 小时前
STM32启动流程及相关概念
单片机·嵌入式硬件
__万波__6 小时前
STM32L475蜂鸣器实验
stm32·单片机·嵌入式硬件
qq_401700417 小时前
经典78M05 LDO经典应用电路
单片机·嵌入式硬件
欢乐熊嵌入式编程8 小时前
BLE 蓝牙开发入门:用手机控制开发板 LED
单片机·ble蓝牙开发·嵌入式入门