STM32开发 -- HardFault_Handler处理

如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/87186130

一、造成原因

参看:C语言再学习 – 段错误(核心已转储)

STM32出现硬件错误可能有以下原因:
(1)数组越界操作;
(2)内存溢出,访问越界;
(3)堆栈溢出,程序跑飞;
(4)中断处理错误;

二、查找问题原因

参看:Sticky Bits – Powered by Feabhas
参看:STM32硬件错误HardFault_Handler的处理方法

在startup_stm32f10x_cl.s里找到HardFault_Handler的地址重映射,并重新编写,让其跳转到HardFaultHandle函数

HardFault_Handler\
                PROC
                IMPORT HardFaultHandle
                TST LR, #4
                

你可能感兴趣的:(stm32库开发实战指南)