嵌入式软件工程师&&太极拳
全部博文(548)
分类: 嵌入式
2012-05-16 09:31:31
中断控制在芯片上有两类引脚:FIQ (快中断)和 nIRQ(标准中断).这两个引脚也是和PIO分时复用的。要写的话,中断这一部分内容比较多,我选重要的写一点以防自己日后需要:
ARM处理器总共有两种运行状态(ARM和Thumb),其中处理模式(用户模式user,快中断模式fiq,外部中断模式irq,管理模式svc,数据访问终止模式abt,未定义指令终止模式und,系统模式sys).有37个寄存器,31个通用寄存器,6个状态寄存器。其中,R0-R7,CPRS和PC七种模式共用,用户模式和系统模式共用所以寄存器R0-R15,和CPRS.管理模式,终止模式,未定义模式和中断模式四种模式的R3,R14各不相同。快中断的R8-R14各不相同。除了用户模式和系统模式,其它五种模式分别有一个SPSR寄存器。
首先,AIC被编程初始化,32个AIC_SVR寄存器中放入中断向量地址,开中断。
当一个中断发生,且CPSR的I位为0时:
1,CPSR的值存入SPSR_irq中,PC中的值存入R14_irq(LR),PC中装入0x18。
2,改变CPSR_irq的模式位,以便:转换处理器模式到响应该中断的模式并为该影射合适的寄存器(组);
3,禁止中断,任何中断发生后,IRQ中断都将被禁止。FIQ只在发送FIQ和复位(中断)时被禁止.
这样基本上就行了。
这一节寄存器的配置很简单,看手册即可。