Arm Errata 752770:中断加载到SP可能导致错误行为
此问题在编写用于操作堆栈的用户代码时更为常见。大多数编译器不会受到此影响,但请与您的编译器供应商确认。MQX™和FreeRTOS™不受此问题影响。
受影响的处理器类型:Cortex-M4、Cortex-M4F 故障类型:程序员类别B 故障状态:出现在:r0p0、r0p1 Open. 如果在向堆栈指针(SP/R13)进行单字加载的数据阶段发生中断,可能会导致错误行为。
在所有情况下,从中断返回将导致加载指令额外执行一次。对于所有执行基址寄存器更新的指令,基址寄存器将在每次执行时错误地更新,导致堆栈指针从错误的内存位置加载。