1. 什么是中断 中断是硬件和软件驱动事件,它使得CPU暂停当前的主程序,转而去执行一个中断服务子程序。X281x的中断系统从上至下分成了三级,即CPU级中断、PIE级中断、外设中断。2. CPU中断 通常中断申请信号是由外围设备提出的,表示一个特殊的时间已经发生,请求CPU暂停正在执行的主程序,去处理相应的更为紧急的事件。2.1 CPU中断的概述 中断的触发有两种:一种是在软件中写指令,例如INTR、OR IFR或者TRAP指令;另一种是硬件方式触发,例如来自片内外设或者外设设备的中断信号,表示某个事件已经发生。 无论是软件中断还是硬件中断,都可以归结为可屏蔽中断和不可屏蔽中断。中断类型 中断信号 特点不可屏蔽中断 INTR指令和TRAP指令、硬件中断NMI、非法指令陷阱以及硬件复位中断 一旦中断申请信号发出,CPU必须无条件的立即去响应可屏蔽中断 大部分的中断 CPU检查这个中断的使能情况,决定是否响应中断 接受到中断信号后,CPU会按照以下4个步骤来处理中断:接收中断信号:外设或者其他方式向CPU提出中断请求。响应中断:如果是个可屏蔽中断,会检查它的使能情况,决定是否响应,如果是不可屏蔽中断,就立即响应。CPU会完整地执行当前指令,为了记住当前主程序的状态,CPU必须做一些准备工作,例如将寄存器的内容存放到堆栈。准备工作做完之后,CPU就取回中断向量,开始执行中断服务子程序。2.2 CPU中断向量和优先级 X2812支持32个CPU中断,其中每一个中断都是一个32位的中断向量,即两个16位的寄存器,里面存储的是相应中断服务子程序的入口地址,这个入口地址是个22位的地址。2.3 CPU中断的寄存器 CPU中断里,INT1-INT14是14个通用中断,DLOGI
博客摘录「 DSP的中断系统」2023年4月14日
![](https://img-home.csdnimg.cn/images/20240711042549.png)