Arm 是否可以在STM32 L0中启用MemManage_处理程序

Arm 是否可以在STM32 L0中启用MemManage_处理程序,arm,interrupt,stm32,Arm,Interrupt,Stm32,我已经编写了一个程序来触发硬故障处理程序。我相信这是因为内存不足的异常,但我想完全肯定这一点。我见过有人禁用M3/M4内核,参考数据表中指出 (2016年2月19日)嵌套向量中断控制器 已删除MemManage_处理程序、BusFault_处理程序、Usagefault _表53中的处理程序和DebugMon_处理程序:向量列表。 更新了EXTI_IMR重置值。(2016年2月19日) 这意味着,MemManage\u处理程序曾经存在,并且可以启用/禁用它。但没有这方面的文件是否可以启用此处理程

我已经编写了一个程序来触发
硬故障处理程序
。我相信这是因为内存不足的异常,但我想完全肯定这一点。我见过有人禁用M3/M4内核,参考数据表中指出

(2016年2月19日)嵌套向量中断控制器

已删除MemManage_处理程序、BusFault_处理程序、Usagefault _表53中的处理程序和DebugMon_处理程序:向量列表。 更新了EXTI_IMR重置值。(2016年2月19日)

这意味着,
MemManage\u处理程序
曾经存在,并且可以启用/禁用它。但没有这方面的文件是否可以启用此处理程序?

我个人觉得很难相信ST已经从硅中完全删除了这个处理程序,因此应该写入寄存器的休眠部分以启用这个处理程序。

请参阅的第2-17/2-18页,其中显示了处理器固有的异常。此部件没有MemManage异常,故障处理程序处理的所有异常都会转到
硬故障

我怀疑ST的员工在其他地方的某个点上对向量表进行了复制粘贴错误,这确实有
MemManage\u处理程序
。这也解释了数据表中的注释,因为他们修复了一个错误,而不是隐藏一个功能。

你不能

根据中的第3.5节,Cortex-M0+设备没有内存管理故障,它只能触发MPU错误的硬故障。

不是ST决定删除此功能,但Cortex-M0+根本没有内存管理故障。我认为ST在他们的文档中犯了一个复制粘贴错误

但是,我相信您仍然可以在HardFault处理程序中捕获MPU错误