Arm Cortex-M0 Hardfault处理程序在更改后未被调用

Arm Cortex-M0 Hardfault处理程序在更改后未被调用,arm,microcontroller,cortex-m,keil,bare-metal,Arm,Microcontroller,Cortex M,Keil,Bare Metal,我正在使用一个STM32f0并进入硬故障。我的IDE是Keil MDK。我试图找到它的根源,所以我在web中找到的每一种方法(主要是针对M3/M4)都告诉我如何展开堆栈。例如,见: 为此,逻辑上我需要更改HardFault处理程序的基本实现 HardFault_Handler\ PROC MRS r7,MSP EXPORT HardFault_Handler [WEAK]

我正在使用一个STM32f0并进入硬故障。我的IDE是Keil MDK。我试图找到它的根源,所以我在web中找到的每一种方法(主要是针对M3/M4)都告诉我如何展开堆栈。例如,见:

为此,逻辑上我需要更改HardFault处理程序的基本实现

HardFault_Handler\
                PROC
                MRS r7,MSP
                EXPORT  HardFault_Handler              [WEAK]
                B       .
                ENDP
添加行
MRS r7后,不再调用硬处理程序,应用程序继续运行

当我尝试在c中实现自己的HardFault_处理程序时,也会发生同样的情况

我不知道。提前谢谢


您好

您好,这是Cortex-M0。我正在为Cortex-M0做准备。这个应用程序在几个月前一直运行良好。所以我假设设置是正确的。我犯了严重的错误。我只更改硬故障处理程序代码。我再也没有硬毛病了。这对我来说是可疑的。链接后向量表是什么样子的?您是如何触发硬故障的?如何检查链接后向量表的外观(在Keil中)?