赞
踩
出现HardFault_Handler故障的原因有两个方面: 内存溢出或者堆栈溢出

首先需要找到出现故障的地方
1.在main.c下自定义hard_fault_handler_c函数
void hard_fault_handler_c(uint32_t* hardfault_args)
{
static unsigned int stacked_lr;
static unsigned int stacked_pc;
stacked_lr = ((unsigned long) hardfault_args[5]);
stacked_pc = ((unsigned long) hardfault_args[6]);
__breakpoint(0);
while(1);
}
2.把原先HardFault_Handler注释 重新定义

HardFault_Handler\
PROC
IMPORT hard_fault_handler_c
TST LR, #4
ITE EQ
MRSEQ R0, MSP
MRSNE R0, PSP
B hard_fault_handler_c
ENDP



Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。