STM32程序进入hardfault_handler()

背景:

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

导致程序反复复位。

查找原因:

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

很奇怪!

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

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

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

相关推荐
安庆平.Я1 小时前
STM32——定时器:高级定时器
stm32·单片机·嵌入式硬件
项目題供诗1 小时前
51单片机入门(一)
单片机·嵌入式硬件·51单片机
1621B驱动芯片原厂2 小时前
YL1621 芯片成功案例推荐
stm32·单片机·嵌入式硬件·mcu·51单片机
Hello_Embed3 小时前
RS485 双串口通信 + LCD 实时显示(DMA+IDLE 空闲中断版)
笔记·单片机·学习·操作系统·嵌入式·freertos
__万波__3 小时前
STM32L475基于完全空白的项目,完成时钟树初始化配置并验证
单片机·嵌入式硬件
XINVRY-FPGA3 小时前
XC7VX690T-2FFG1761I Xilinx AMD FPGA Virtex-7
arm开发·嵌入式硬件·fpga开发·硬件工程·fpga
良许Linux4 小时前
STM32F103每个符号的意思是什么?
stm32·单片机·嵌入式硬件
小痞同学5 小时前
【铁头山羊STM32】HAL库 4.时钟系统部分
stm32·单片机·嵌入式硬件
周周记笔记5 小时前
ESP32-S3 :开发方式笔记(五)
笔记·单片机·嵌入式硬件
我怕是好5 小时前
学习STM32 ESP8266
stm32·嵌入式硬件·学习