返回> 网站首页 

HardFault_Handler - 输出PC值

yoours2022-05-21 15:10:55 阅读 1806

简介一边听听音乐,一边写写文章。

一、首先需要找到出现故障的地方

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 

微信小程序扫码登陆

文章评论

1806人参与,0条评论