在无os的情况下,中断的优先处理等级最高的。pc中包含的是当前指令的地址,当中断发生时,中断请求信号会告知系统,此时有中断,系统保护好当前执行的环境(各个特殊的寄存器的数值,包括pc,有些mcu需要你自己保护现场),系统会将对应中断的入口地址写到pc中,那么下一步就转到中断处理了,结束中断之后,需要恢复现场,回到被前面被中断的程序中。
在有os的情况下,如果是强实时系统,os必须在一段限定的时间内执行中断处理程序。
如果是弱实时系统,os对中断信号的监控不是依赖于硬件,而是通过查询的方式,并且响应的方式,也可以分成二个部分,第一部分注册中断事件,消除中断标志,以防止有后续的中断发生,第二部分才是真正的中断处理程序,并且第二部分可以在os空闲时执行 |