Cortex-M 执行更高优先级的故障处理程序时发生外部中断

问题描述 投票:0回答:1

当 cortex-m 正在执行较高优先级的故障处理程序时,来自外设的较低优先级中断发生时会发生什么?它会被忽略还是会触发硬故障?

arm embedded interrupt cortex-m
1个回答
0
投票

如果正在服务较高优先级的中断,则较低优先级的中断将保持待处理状态。一旦较高优先级的 ISR 完成,较低优先级的中断将得到服务。

此外,Cortex-M CPU 有一个称为尾链的功能。这意味着当高优先级 ISR 完成时,它不需要从堆栈中弹出所有保存的寄存器,只需在低优先级 ISR 运行时再次压入它们即可。相反,较低优先级的 ISR 会被直接调用,然后当它退出时,它将弹出保存的寄存器。

© www.soinside.com 2019 - 2024. All rights reserved.