2440外部中断
来源:互联网 发布:网络最新赌博游戏平台 编辑:程序博客网 时间:2024/06/06 21:43
一、外部中断主要寄存器
EXTINTn
Register Address R/W Description Reset Value
EXTINT0 0x56000088 R/W External interrupt control register 0 0x000000
EXTINT1 0x5600008c R/W External interrupt control register 1 0x000000
EXTINT2 0x56000090 R/W External interrupt control register 2 0x000000
EXINTn寄存器用于配置外部中断请求信号方式是电平触发还是边沿触发。EXINT0的[0:2]用于设置EINT0触发方式:
000 = 低电平
001 = 高电平
01x = 上升沿
10x = 下降沿
11x = 上升下降沿均触发
l SRCPND(0X4A000000)
SRCPND寄存器中32位每一位都用于表示对应中断源是否发生中断。可以通过向SRCPND寄存器对应写入”1”清除相应中断标志。
l INTPND(0X4A000010)
经过中断优先级仲裁后选出优先级最高的中断,显示在INTPND寄存器相应位。然后CPU进入中断处理。该寄存器与SRCPND相似,向应写入”1”清除相应中断标志。
l INTMSK(0X4A000008)
当INTMSK寄存器相应位被置”1”,CPU不会进入中断服务请求。即使是SRCPND相应位为”1”。
l INTMOD(0X4A000004)
外部中断:
EINT0-EINT3发生后SRCPND相应位置1,如果没有被INTMSK屏蔽,那么等待进一步处理。EINT4-EINT23发生后EINTPEND相应位置1,如果没有被EINTMASK屏蔽,那么SRCPND相应位EINT4-7 或EINT8-23置1,如果没有被INTMSK屏蔽,等待进一步处理,几个EINTPEND对应同一个SRCPND,对应表如下:
SRCPND EINTPEND
EINT0 EINT0
EINT1 EINT1
EINT2 EINT2
EINT3 EINT3
EINT4-7 EINT4-EINT4
EINT8-23 EINT8-EINT23
如果是外部中断,对于EINT8-23需要清除EINTPEND和SRCPND(同样注意顺序)。对于EINT0-EINT3只需清除SRCPND。
EXTINTn
Register Address R/W Description Reset Value
EXTINT0 0x56000088 R/W External interrupt control register 0 0x000000
EXTINT1 0x5600008c R/W External interrupt control register 1 0x000000
EXTINT2 0x56000090 R/W External interrupt control register 2 0x000000
EXINTn寄存器用于配置外部中断请求信号方式是电平触发还是边沿触发。EXINT0的[0:2]用于设置EINT0触发方式:
000 = 低电平
001 = 高电平
01x = 上升沿
10x = 下降沿
11x = 上升下降沿均触发
l SRCPND(0X4A000000)
SRCPND寄存器中32位每一位都用于表示对应中断源是否发生中断。可以通过向SRCPND寄存器对应写入”1”清除相应中断标志。
l INTPND(0X4A000010)
经过中断优先级仲裁后选出优先级最高的中断,显示在INTPND寄存器相应位。然后CPU进入中断处理。该寄存器与SRCPND相似,向应写入”1”清除相应中断标志。
l INTMSK(0X4A000008)
当INTMSK寄存器相应位被置”1”,CPU不会进入中断服务请求。即使是SRCPND相应位为”1”。
l INTMOD(0X4A000004)
INTMOD寄存器用于配置中断发式,当某位设置为”1”,改为中断被设置未FIQ;否则,中断设置为IRQ。
外部中断:
EINT0-EINT3发生后SRCPND相应位置1,如果没有被INTMSK屏蔽,那么等待进一步处理。EINT4-EINT23发生后EINTPEND相应位置1,如果没有被EINTMASK屏蔽,那么SRCPND相应位EINT4-7 或EINT8-23置1,如果没有被INTMSK屏蔽,等待进一步处理,几个EINTPEND对应同一个SRCPND,对应表如下:
SRCPND EINTPEND
EINT0 EINT0
EINT1 EINT1
EINT2 EINT2
EINT3 EINT3
EINT4-7 EINT4-EINT4
EINT8-23 EINT8-EINT23
中断都等待进一步处理了。接下来从SRCPND往下看,看INTMSK。如果中断被屏蔽了,就不用说了(注意:快中断也能被屏蔽)。如果没有被屏蔽,那么会进一步到INTMOD。如果是快中断,那么直接出来,进入FIQ(即CPU进入快中断模式处理)。如果是普通中断,那么SRCPND可以有多为置1(FIQ只能有一个),这时就会经过PRIORITY选出一个优先级高的,然后把根据选出的中断把INTPND相应位置1(注意:只能选出一个),进入IRQ,让CPU处理。
三、 中断的开启
如果是外部中断,对于EINT8-23需要设置EINTMASK和INTMSK。对于EINT0-EINT3只需设置INTMSK。
如果是外部中断,对于EINT8-23需要清除EINTPEND和SRCPND(同样注意顺序)。对于EINT0-EINT3只需清除SRCPND。
- 2440外部中断
- 2440的外部中断操作过程
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 外部中断
- 中断一、外部中断
- 2440外部中断配置全攻略------有中断向量表
- 2440裸机编程之四 外部中断
- 外部中断0和外部中断1
- Array数组
- C连接MySQL执行插入操作(2)
- poj3368 Frequent values(维护个最大值rmq or 线段树)
- 深入探讨 Java 类加载器
- jw player 源码编译运行笔记
- 2440外部中断
- Android系统移植与调试之------->build.prop文件详细赏析
- 大连假期实习报告
- XML解析库比较
- LoundRunner关联
- Android:How to customize CursorAdapter(如何自定义CursorAdapter)
- 房子
- Xerces使用指南
- kernel-qemu,x86和arm,有什么区别?