在带有 MPU 的 Cortex-M 处理器上(让我们具体使用 Cortex-M4,但我敢打赌,例如 M3 的答案是相同的),硬件异常条目堆栈在 MPU 中运行的特权模式是什么?
假设我使用进程堆栈 (PSP) 在非特权线程模式下运行,MPU 设置为仅接受特定区域内的写入(例如,用户模式进程正在运行)。当异常发生时,在处理程序执行之前(在处理程序模式下),硬件堆栈寄存器 r0-r3、lr、pc 等到 PSP 上。这是否也发生在非特权线程模式下?
具体来说,假设进程将其 SP 设置为不应写入的内存中的某个任意点,异常堆栈会导致内存故障吗?