由于2440的资料在这块讲的不是特别清晰,这里就以S3C44B0X为例,其具有30个中断源,包括一个看门狗定时器、6个定时器、6个UART、8个外部、4个DMA、2个RTC、1个ADC、1个IIC和一个SIO。其内置的中断控制器可以接收来自这30个中断源的请求,S3C44B0X是ARM7架构的为基础的,ARM7 TDMI有两种中断模式:FIQ和IRQ。
一、中断控制器
1、IRQ和FIQ的区别:
对于FIQ必须尽快处理这件事并离开这个模式;IRQ可以被FIQ中断,但IRQ不能中断FIQ;为了使FIQ更快,所以FIQ模式具有更多的私有寄存器,上篇可以看出2440的FIQ有8个备份寄存器。
2、CPSR的F位和I位
如果程序状态寄存器CPSR的F位被设置为1,处理器将不接受来自中断控制器的FIQ;如果CPSR的I位被设置为1,处理器将不接受来自中断控制器的IRQ。
3、中断请求寄存器INTPEND