JZ2440开发板之中断体系
ARM架构的CPU有7种工作模式:
1. 用户模式--usr
2. 管理模式--svc
3. 系统模式--sys
4. 快中断模式--fiq
5. 中断模式--irq
6. 数据访问终止模式--abt
7. 未定义指令终止模式--und
ARM架构的CPU有2种工作状态:
1. ARM状态--处理器执行32位的字对齐的ARM指令
2. Thumb状态--处理器执行16位的半字对齐的Thumb指令
ARM架构的CPU的寄存器:
1. ARM有31个通用的32位寄存器和6个状态寄存器
2. 每种ARM工作模式下都有16个通用寄存器和一个或两个程序状态寄存器
3. CPSR--程序状态寄存器,当前工作在什么模式下
4. SPSR--程序状态保存寄存器,保存前一个工作模式的CPSR寄存器的值
S3C2410/S3C2440中断控制器
1. 中断方式:发生中断时,会设置相应的寄存器;CPU在每执行完一条指令后就去检查这个寄存器,如果法相寄存器被设置,就去执行相应的中断。
有两种中断源:
1. with sub-register 发生中断后,SUBSRCPND寄存器的某些位被置1,如果相应位没有在INTSUBMSK寄存器中被屏蔽的话,SRCPND寄存器中的相应位也会被置1,如果相应位的INTMSK寄存器没有被屏蔽的话,会被进一步处理,选出优先级高的,并将此中断在INTPND寄存器中的相应位置1,然后CPU进入中断模式进行处理。
2. without sub-register 发生中断后,SRCPND寄存器中的相应位也会被置1,如果相应位的INTMSK寄存器没有被屏蔽的话,会被进一步处理,选出优先级高的,并将此中断在INTPND寄存器中的相应位置1,然后CPU进入中断模式进行处理。
用户可以通过读取INTPND或者INTOFFSET寄存器,来确定是哪种中断。
posted on 2014-12-27 16:37 shenlanse8805 阅读(283) 评论(0) 编辑 收藏 举报