Arm Errata 752770:中斷加載到SP可能導(dǎo)致錯誤行為
此問題在編寫用于操作堆棧的用戶代碼時更為常見。大多數(shù)編譯器不會受到此影響,但請與您的編譯器供應(yīng)商確認(rèn)。MQX?和FreeRTOS?不受此問題影響。
受影響的處理器類型:Cortex-M4、Cortex-M4F 故障類型:程序員類別B 故障狀態(tài):出現(xiàn)在:r0p0、r0p1 Open. 如果在向堆棧指針(SP/R13)進(jìn)行單字加載的數(shù)據(jù)階段發(fā)生中斷,可能會導(dǎo)致錯誤行為。
在所有情況下,從中斷返回將導(dǎo)致加載指令額外執(zhí)行一次。對于所有執(zhí)行基址寄存器更新的指令,基址寄存器將在每次執(zhí)行時錯誤地更新,導(dǎo)致堆棧指針從錯誤的內(nèi)存位置加載。