14.Interrupt 草稿
来源:互联网 发布:黑科技网络优惠码 编辑:程序博客网 时间:2024/06/06 05:24
14、中断控制器
概总
2440可以接受60个中断源请求。这些中断有内部的DMA,UART,IIC等提供中断源请求。在这些中断源中,UART,AC97以及EINT中断??OR关系。
当接受到内部或者外部的多个中断请求时候,中断控制器处理请求相应FIQ(快速中断),IRQ。
中断处理程序依据硬件逻辑优先级,并将结果写入中断Pending寄存器(就是所谓的INTPND,EINTPND),帮助用户来注意是那个中断源产生中断。
中断控制操作
F-bit和I-bit编程状态寄存器(PSR)
如果ARM920T 的F-bit设置为1,则CPU不接受快速中断请求(FIQ)。如果I-bit设置为1,那么不接受中断请求(IRQ).因此中断控制器能够接受中断,通过设置F-bit或者I-bit置0,并且设置相应的INTMSK位置0,来接受处理中断。
中断模式
有FIQ,IRQ
中断pendig 寄存器2440有2个中断pending寄存器:Source pending register(SRCPND)以及interrupt pending register(INTPND).这些pending 寄存器指明是否有发生了中断请求。当中断源请求响应中断服务程序时候,SRCPND的相应位置位要置为1,同时,INTPND寄存器只有一位是会被自动设置为1的。如果中断被掩盖掉了,那么SRCPND寄存器的相应bit寄存器会设置为1,这样就不会引起INTPND寄存器的变化了。如果当INTPND的某一个寄存器的值相应位设置为1,中断服务程序就开始了。SRCPND&INTPND寄存器都能够读写,因此中断服务程序处理时候,必须先将SRCPND寄存器置1,然后清除INTPND的寄存器相应位。
中断掩盖寄存器
这个寄存器指明中断disable,如果相应位置位为1的时候。如果INTMSK的某个位设置为0的时候,那么这个中断可以正常的响应。
中断优先级发生模块
优先级逻辑由P355页的表格所示,有6个第一中断,一个第二中断组成。
优先级模块的设置,主要由ARB_MODE&ARB_SEL的设置bit位,来进行6个中断源的优先级命令设置。
模块0始终处于最高优先级,模块5时钟处于最低优先级。因此通过修改ARB_SEL可以设置改变REQ1和REW4的优先级顺序。
如果ARB_MODE的相应bit设置为0,ARB_SEL?????????
中断控制特殊寄存器
有5个寄存器:Source pending register, interrupt mode register, mask register ,priority register ,and interrupt pending register.
Source pending register 通常都是第一个寄存器被访问的,然后通过mode register分成FIQ还是IRQ这两组,最后多个IRQ中断基于优先级寄存器
SRCPND寄存器
总的一句话来说,就是当发生中断的时候,需要将SRCPND相应位置1,这样你的中断才有效。
rEINTPEND = 0xffffff;
rSRCPND = BIT_EINT0|BIT_EINT1|BIT_EINT2|BIT_EINT8_23; //to clear the previous pending states
rINTPND = BIT_EINT0|BIT_EINT1|BIT_EINT2|BIT_EINT8_23;
这样就认为你的中断是合法的请求。
INTMOD 中断模式选择 0:IRQ。1:FIQ
INTMSK 中断掩盖: 0:中断服务可以用,1:掩盖,不能用
优先级PRIORITY :IRQ模式下的优先级
INTPND寄存器: 总的来说,0:不能响应中断,1:可以中断请求 有优先级模式下 only one bit can be set to 1.
- 14.Interrupt 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- (草稿)
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 草稿
- 2006年中国软件收入规模前100家企业名单(转自sina)
- 并发编程:已成必要
- 使用正则表达式优化网页代码
- 网页播放技术的歌词同步
- 心态决定命运
- 14.Interrupt 草稿
- 无法找到脚本引擎"vbscript"的解决方法
- wp修改告一段多,主要完成以下修改(操作)
- 正则表达式语法讲解(三)
- 第二周作业
- Magic c++ 一个好的可视化Linux开发工具
- 项目经理、应用顾问及开发顾问的工作
- 收缩数据库
- JBoss 数据库连接池 Mysql Sqlserver