版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章Exynos4412的中断系统
本章内容很重要,要熟练掌握各知识点。主要内容§
6.1中断程序硬件电路设计§
6.2中断控制寄存器设置§6.3中断程序设计中断系统简介:Exynos4412采用中断控制器(GIC)来管理中断资源,它支持160个中断源,包括16个软件中断(SGI),16个私有外部中断(PPI),128个公共外部中断(SPI)。对于160个中断源,每个中断源都被赋予一个唯一的中断号(ID),GIC和处理器核对中断源管理都是根据中断号来进行的。16个SGI对应0~15号中断,16个PPI对应16~31号中断,128个SPI对应32~159号中断。每个中断的使能和屏蔽都由中断控制器的1位控制。160个中断源对应5个32位的中断控制器。例如CPU0的中断使能控制器就包括ICDISER0~ICDISER45个,SGI占用ICDISER0[15~0],PPI占用ICDISER0[31~16],SPI占用ICDISER1~ICDISER4四个控制寄存器。如SPI的中断ID号是57,相应的是第25号SPI中断,则控制位是ICDISER1[25]。如SPI的中断号是58,相应是26号SPI中断,则控制位是ICDISER1[26]。注意,SPI中断号是从32~159,占用ICDISER1~ICDISER4四个控制寄存器。§6.1中断程序硬件电路设计我们结合一个例子来说明4412中断程序设计,硬件电路如图6-1所示。经过查询使用手册,知道GPX1_1对应外部中断9,GPX1_2对应外部中断10,GPX3_2对应外部中断26,我们的试验只涉及GPX1_1和GPX1_2,具体见表6-1。在图6-1中,当K1、K2、K3没按下时,三个管脚GPX1_1,GPX1_2和GPX3_2输入高电平。当任何一个键按下时,相应管脚输入变低电平,此时产生中断。(在硬件电路中已加了上拉电阻,所以程序中就不用再加了。)试验GPX1_1和GPX1_2:1、相应管脚GPX1_1和GPX1_2设置为外部中断功能,GPX3_2暂不用,不用设置。具体见表6-2。为了满足题目要求,GPX1CON[1]、GPX1CON[2]要设置为0xF。2、设置外部中断触发方式外部触发方式有5种,分别是低电平、高电平、下降沿、上升沿和双沿。对应的触发方式配置为EXT_INT41CON[6:4]对应GPX1_1:EXT_INT41
[10:8],对应GPX1_2。
触发方式配置寄存器EXT_INT41CON见表6-3。注意:因为SGI和PPI占有中断ID号0~31,所以XENT_9ID号是32+9=41。我们设置的例子是低电平触发,因此EXT_INT41[1]和EXT_INT41[2]均设置0x0。3、中断的使能和禁止GPX1_1(外部中断WAKEUP_INT1[1])对应的中断使能和禁止为EXT_INT41_MASK[1]位,EXT_INT41_MASK[1]设置为0,表示允许中断。当GPX1_1收到中断信号,中断状态寄存器EXT_INT41_PEND[1]会自动置1,则中断控制器GIC认为外部中断EINT9的中断触发条件已满足,进入下一步的中断响应。如果EXT_INT41_MASK[1]设置为1,表示禁止外部WAKEUP_INT1[1]中断。GPX1_2(外部中断WAKEUP_INT1[2]),对应的中断使能和禁止寄存器是EXT_INT41_MASK[2]位,对应的中断状态寄存器是EXT_INT41_PEND[2]。使能寄存器EXT_INT41_MASK和状态寄存器EXT_INT41_PEND配置见表6-4和6-5。§6.2中断控制寄存器设置Exynos4412是四核处理器,对于SPI,可由GIC设置一个或多个处理器核来响应。在本例中EINT9和EINT10将要送CPU0处理,因此要设置CPU0的相应处理器,包括以下几种处理:1、中断使能寄存器ICDISER_CPU02、CPU0中断响应开关(CPU0中断响应总开关)3、CPU0优先级过滤寄存器4、GIC全局中断使能寄存器5、5.GIC中断目标寄存器6、中断号识别处理7、外部中断挂起寄存器8、CPU0中断挂起寄存器9、CPU0中断结束状态寄存器1、中断使能寄存器ICDISER_CPU0CPU0允许响应外部中断EINT9和EINT10,EINT9和EINT10中断号是57和58,所以ICDISER1_CPU0的[25]和[26]位要设置为1。中断使能寄存器ICDISER_CPU0见表6-62、CPU0中断响应开关(CPU0中断响应总开关)Exynos4412有四个CPU,每个CPU都可以响应或禁止中断,这由四个CPU的使能控制寄存器的[0]位决定,该为设置为1,则允许该CPU响应中断,设置为0,则禁止该CPU响应中断。CPU0中断响应总开关是ICCICR_CPU0,使能控制寄存器ICCICR_CPU0配置见表6-7。3、CPU0优先级过滤寄存器每个处理器核都可以设置优先级过滤,四个优先级过滤寄存器是ICCPMR_CPUn(n=0~3),每个ICCPMR的低8位为优先级,从0~255共256个优先级,只有优先级大于或等于所设优先级,对应的中断才能被处理器核所响应。优先级值越小,级别越高,如设置为0xff,则可响应所有中断。ICCPMR_CPUn(n=0~3)设置见表6-8。4、GIC全局中断使能寄存器ICDDCR是全局中断使能寄存器,当ICDDCR[0]为1时,GIC开始监控中断源,当中断条件满足时给相应CPU发中断响应信息。ICDDCR配置见表6-9。5、GIC中断目标寄存器ICDIPTR是中断目标寄存器,它决定一个中断由那个CPU来处理,每个32位的ICDIPTR对应4个中断源,每个中断源由8位来描述。Exynos4412可处理160个中断,这样的寄存器就有40个。本例中EINT9和EINT10分别是SPI25和SPI26,中断ID号是57,58则对应ICDIPTR14[15:8]和ICDIPTR14[23:16]。从表6-10来看ICDIPTR14包含了SPI24、25、26、27。目标寄存器设置方法见表6-11。因为我们要把中断送CPU0处理,所以ICDIPTR14直接送0x01010101即可。6、中断号识别处理当一个CPU处理中断时可通过ICCIAR_CPUn(n=0~3)寄存器的低10位来读取中断源的ID号,中断号寄存器ICCIAR_CPUn(n=0~3)见表6-12。7、外部中断挂起寄存器要让CPU继续响应外部中断,需要清除外部挂起寄存器EXT_INT41_PEND,即在EXT_INT41_PEND[1]和在EXT_INT41_PEND[2]位写1。8、CPU0中断挂起寄存器要让CPU0继续接收
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《公司干部述职报告》课件
- 丝印移印技能培训
- 大班主题活动《我心目中的外星人》课件
- 18年汽车营销活动计划
- 银行和解外部财产协议
- 化工管道防腐施工协议
- 河南省铁路工程合同样本
- 商业绿化工程合同样本
- 电脑租赁合同模板
- 建筑工程景观设计合同样式
- 唐诗宋词人文解读智慧树知到期末考试答案章节答案2024年上海交通大学
- 学术交流英语(学术写作)智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- 中国移动社会渠道管理工作指导意见
- 关于低压电工安全培训课件
- 新译林版英语六年级上册适当形式填空
- 《河北省预防接种异常反应保险补偿工作方案(试行)》
- 温州医科大学眼视光医学专业五年制人才培养方案
- 2023-2024学年高一下学期期中考试家长会课件
- 集团公司工会换届选举大会上发言稿
- 高考物理实验:用双缝干涉测量光的波长试题经典
- 人力资源管理案例分析-蒙牛
评论
0/150
提交评论