||
第一章 Exynos 4412中断体系第一节 关于Exynos 4412的中断体系结构
Exynos 4412的中断控制器(GIC)是一个集中资源,支持和管理系统中的中断。GIC的特征是:
1. 支持3种中断类型:
- Software Generated Interrupt (SGI)
-Private Peripheral Interrupt (PPI)
-Shared Peripheral Interrupt (SPI)
2.可编程中断,它使您能够设置:
- Security state for an interrupt. 中断的安全状态
-Priority level of an interrupt. 中断的优先级
-Enabling or disabling of an interrupt. 启用或禁用中断
-Processors that receive an interrupt.处理器接收中断
在GIC的执行期间,取决于配置的特点是:
l Exynos 4412 GIC Configuration
l Total 160 interrupts including Software Generated Interrupts (SGIs), Private Peripheral Interrupts (PPIs) and Shared Peripheral Interrupts (SPIs) are supported.
l For SPI, you can service maximal 32*4 = 128 interrupt requests.
GIC Configuration Values
下面我将使能其中的一个外部中断,让大家了解中断处理的完整过程。
第二节 ARM中断模式(IRQ)和快速中断模式(FIQ)区别比较注:
IRQ(Interrupt Request):指中断模式。
FIQ(Fast Interrupt Request):指快速中断模式。
IRQ与FIQ是ARM处理器的两种不同编程模式(ARM有7种处理模式)。
1、对FIQ你必须进快处理中断请求,并离开这个模式。
2、IRQ可以被FIQ所中断,但FIQ不能被IRQ所中断,在处理FIQ时必须要关闭中断。
3、FIQ的优先级比IRQ高。
4、FIQ模式下,比IRQ模式多了几个独立的寄存器。
不要小看这几个寄存器,ARM在编译的时候,如果你FIQ中断处理程序足够用这几个独立的寄存器来运作,它就不会进行通用寄存器的压栈,这样也省了一些时间。
5、FIQ的中断向量地址和IRQ的中断向量地址不同。(具体看4412数据手册)
6、IRQ和FIQ的响应延迟有区别
IRQ的响应并不及时,从Verilog仿真来看,IRQ会延迟几个指令周期才跳转到中断向量处,看起来像是在等预取的指令执行完。FIQ的响应不清楚,也许比IRQ快。