返回> 网站首页
HardFault_Handler - 输出PC值
yoours2022-05-21 15:10:55
简介一边听听音乐,一边写写文章。
一、首先需要找到出现故障的地方
1.在.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.在中断定义的汇编.s文件,把原先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
文章评论
2305人参与,0条评论