*s3c2440ARM工作模式有7种,其中有两是中断模式即FIR(快速中断模式)与IRQ(外部中断模式)。具体属于哪种中断模式是对中断源相应的寄存器进程配置决定的。
*中断源有60个,子中断源有15个。
*什么是子中断?
例1:处理器A的线只有4根时,只能连接4个中断源(s1,s2,s3,s4) ,连接如下图,那么s1,s2,s3,s4都是中断源
例2:处理器A的线只有4根时,要连接5个中断源(s1,s2,s3,s4,s4) ,连接如下图,那么s1,s2,s3是中断源,s4与s5中子中断源。
*怎么使用中继?
1、设置CPSR
设置F位为1时,可以使用FIQ,设置为0时不能使用FIQ,调用I位为I时可以使用IRQ,设置I位为0时,不能使用IRQ。
2、当中断产生后,寄存器会切换到相应的中断工作模式,所以寄存器也会切换到相应的寄存器。
3、当中断产生后是否能被CPU接收到除了要看CPSR的设置外,还要经过其它的一些相应的寄存器相应位设置来判断。这些寄存器如下图一共有7个(SUBSRCPND、
SUBMASK、SRCPND、MASK、MODE、Prionity、INTPND)
当中断最终到达INTPND后,该中断会改变INTPND中的某一个位,cpu可以通过INTPND中哪一位被设置为1来判断产生的中断信息。
4、当ARM的CPU通过读取INTPND中的值确定了具体是哪一个中断后,PC会自动指向该中断处理地址,不同的中断有不同的地址,该地址我们可以到芯片手册的中断地址向量表中查出来。在中断处理地址处的代码就可以对中断进行处理了。
5、注意使用中断之前还要先清除中断,否则中断就算产生了也会被禁止。