下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ARM中断寄存器详解ARM中断寄存器详解linux 2009-10-15 19:27:07阅读191评论0字号:大中小S3C2440的中断寄存器:1.中断分两大类:内部中断和外部中断。2.外部中断。24个外部中断占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要上拉。具体参考datesheet数据手册。寄存器:EXTINT0-EXTINT2:三个寄存器设定EINT0-EINT23的触发方式。EINTFLT0-EINTFLT3:控制滤波时钟和滤波宽度。EINTPEND:这个是中断挂起寄存器,清除时
2、要写1,后面还有几个是写1清除。当一个外部中断(EINT4-EINT23)发生后,那么相应的位会被置1。为什么没有EINT0-EINT3,呵呵,看看SRCPND就知道了,里面没有EINT4-EINT23的位子,所以有了EINTPEND。EINTMASK:这个简单,是屏蔽中断用的,也就是说位为1时,此次中断无效。3.内部中断。内部中断有8个寄存器,下面逐一来看。寄存器:SUBSRCPND:当一个中断发生后,那么相应的位会被置1,表示一个中断发生了。INTSUBMSK:与上一个是一伙的,中断屏蔽寄存器,具体屏蔽什么,自己看手册去吧。INTMOD:中断的方式。一个中断可以是普通中断,也可以是快中断,
3、在这里设置,但只能有一个快中断。PRIORITY:优先级寄存器,不说了。SRCPND:当一个中断发生后,那么相应的位会被置1,表示一个或一类中断发生了。INTMSK:中断屏蔽寄存器。INTPND:中断发生后,SRCPND中会有位置1,可能好几个(因为同时可能发生几个中断),这些中断会由优先级仲裁器选出一个最紧迫的,然后吧把INTPND中相应位置1,所以同一时间只有一位是1。也就是说前面的寄存器置1是表示发生了,只有INTPND置1,CPU才会处理。INTOFFSET:用来表示INTPND中哪一位置1了,好让你查询,普通中断跳转时查询用。清除INTPND、SRCPND时自动清除。4.各寄存器关系
4、:下面看图说明:5.中断过程。a如果是不带子中断的内部中断:发生后SRCPND相应位置1,如果没有被INTMSK屏蔽,那么等待进一步处理。b如果是带子中断的内部中断:发生后SUBSRCPND相应位置1,如果没有被INTSUBMSK屏蔽,那么SRCPND相应位置1,等待进一步处理,几个SUBSRCPND可能对应同一个SRCPND,对应表如下:SRCPND SUBSRCPND INT_UART0 INT_RXD0,INT_TXD0,INT_ERR0 INT_UART1 INT_RXD1,INT_TXD1,INT_ERR1 INT_UART2 INT_RXD2,INT_TXD2,INT_ERR2 I
5、NT_ADC INT_ADC_S,INT_TC INT_CAM INT_CAM_C,INT_CAM_P INT_WDT_AC97 INT_WDT,INT_AC97 c如果是外部中断:EINT0-EINT3发生后SRCPND相应位置1,如果没有被INTMSK屏蔽,那么等待进一步处理。EINT4-EINT23发生后EINTPEND相应位置1,如果没有被EINTMASK屏蔽,那么SRCPND相应位EINT4-7或EINT8-23置1,如果没有被INTMSK屏蔽,等待进一步处理,几个EINTPEND对应同一个SRCPND,对应表如下:SRCPND EINTPEND EINT0 EINT0 EINT1
6、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处理。6.中
7、断的开启。a.如果是不带子中断的内部中断,只需设置INTMSK,让它不屏蔽中断就可以了。b如果是带子中断的内部中断,需设置INTSUBMSK和INTMSK,让它门不屏蔽中断就可以了。c如果是外部中断,对于EINT8-23需要设置EINTMASK和INTMSK。对于EINT0-EINT3只需设置INTMSK。7.中断的清除。a.如果是不带子中断的内部中断,只需清除SRCPND,注意清除需位置1。b如果是带子中断的内部中断,需清除SRCPND和SUBSRCPND,注意先清除SUBSRCPND,再清除SRCPND。因为,如果你先清除SRCPND的话,然后在清除SUBSRCPND的过程中,SRCPND会以为又有中断发生,又会置1。也就是说一次中断会响应两次。所以必须先掐断源头。c如果是外部中断,对于EINT8-23需要清除EINTPEND和SRCPND(同样注意顺序)。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁银理财2026届春季校园招聘备考题库附完整答案详解(名校卷)
- 建筑供暖通风设计方案
- 2026年广告设计服务合同协议
- 2026年广告公司合同广告技术合作协议
- 2026山东青岛海发国际贸易有限公司招聘10人备考题库及答案详解(新)
- 2026江西赣州市就业创业服务中心招募青年见习1人备考题库一套附答案详解
- 2026广西钦州市钦北区长田街道社区卫生服务中心招聘1人备考题库附参考答案详解(巩固)
- 2026天津铁路建设投资控股(集团)有限公司招聘1人备考题库含答案详解(b卷)
- 2026广州医科大学附属第三医院粤西医院(茂名市电白区妇幼保健院)托育园招聘编外工作人员4人备考题库及参考答案详解【夺分金卷】
- 2026广西上林国民村镇银行春季招聘备考题库含答案详解(黄金题型)
- 2025新人教版七年级下册英语 Unit 8知识点梳理及语法讲义(答案版)
- 水库安全管理培训
- 2024年数智工程师职业鉴定考试复习题库(含答案)
- 工程劳务外包合同范本大全
- 统编版语文四年级下册 第一单元基础过关卷(试题)
- 自考《13180操作系统》考前强化练习试题库及答案
- 人工智能芯片设计 课件 周巍 第4-7章-人工智能与深度学习 -人工智能芯片架构设计
- 医院患者安全与防范措施管理规章制度
- DB34∕T 3463-2019 钢筋桁架楼承板系统应用技术规程
- 人教A版2019必修第一册专题3.2函数的基本性质【十大题型】(原卷版+解析)
- 执业医师考试病史采集和病例分析培训课件
评论
0/150
提交评论