STM32程序进入hardfault_handler()

背景:

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

导致程序反复复位。

查找原因:

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

很奇怪!

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

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

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

相关推荐
kebidaixu7 小时前
FreeRTOS 移植到 STM32F407VETX 记录(五)
stm32·单片机·嵌入式硬件
listhi5207 小时前
基于单片机的步进电机控制系统
单片机·嵌入式硬件
灯琰17 小时前
STM32L051K6U6 IAP要点记录-LL库
stm32·单片机·嵌入式硬件
MAR-Sky8 小时前
stc8h系列单片机使用中断号超过32的插件解决办法
单片机·嵌入式硬件
kebidaixu8 小时前
FreeRTOS 移植到 STM32F407VETX 记录(四)
stm32
结城明日奈是我老婆9 小时前
基于stm32f103c8t6最小系统板俩块版通讯
stm32·单片机·嵌入式硬件
weixin_456808389 小时前
【沁恒蓝牙开发】从机判断主机是否使能CCCD
单片机·嵌入式硬件
深圳英康仕9 小时前
一款面向AGV智能搬运机器人的RK3588工控机的数据资料整理
嵌入式硬件·rk3588·工控机·agv·智能搬运机器人
fengfuyao9859 小时前
STM32F030 SD卡文件系统读取实例
stm32·单片机·嵌入式硬件