《cortexa中断机制》PPT课件.ppt_第1页
《cortexa中断机制》PPT课件.ppt_第2页
《cortexa中断机制》PPT课件.ppt_第3页
《cortexa中断机制》PPT课件.ppt_第4页
《cortexa中断机制》PPT课件.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

向量中断控制器,概述,A8内核具有两个中断输入,分别为IRQ中断和FIQ中断。4个向量中断控制器(VIC)负责管理芯片的中断源,最多可以管理93个中断输入请求。,CPU 内核,向量中断控制器,程序状态寄存器CPSR与VIC的关系,ARM内核通过CPSR来监视和控制内部的操作,CPSR中的“I”位和“F”位分别用来控制IRQ模式和FIQ模式的使能。,CPU,ARM7TDMI-S,VIC,IRQ,FIQ,CPSR 7 (I),CPSR 6 (F),向量中断控制器,程序状态寄存器CPSR与VIC的关系,当I = 1时,禁止IRQ中断,当I = 0时,使能IRQ中断,向量中断控制器,程序状态寄存器CPSR与VIC的关系,当F = 1时,禁止FIQ中断,当F = 0时,使能FIQ中断,向量中断控制器,中断分类,中断输入请求可以在VIC中被设置为以下二类: FIQ中断:具有最高优先级; 向量IRQ中断:具有一般优先级;,4.9 向量中断控制器,IRQ中断相应流程,将当前的程序状态寄存器的内容备份 即,SPSR_irq = CPSR,处理器切换到IRQ模式,禁止IRQ中断,即,I = 1,保存返回地址 LR_irq = PC,设置IRQ异常入口地址 PC = 0x18,发生IRQ异常事件,寄存器描述参数设置寄存器,寄存器描述控制寄存器,控制寄存器功能描述,4.9 向量中断控制器,寄存器描述状态寄存器,注意:读取VICRawIntr寄存器将得到所有32个中断请求和软件中断的状态,它不管中断是否使能或分类 。,保护使能寄存器,4.9 向量中断控制器,保护使能寄存器(VICProtection ):,在某些场合可能需要禁止在用户模式下访问VIC寄存器,以提高软件的安全等级。,IRQ中断处理,4.9 向量中断控制器,硬件处理,软件处理,IRQ中断处理,4.9 向量中断控制器,软件处理,IRQ中断处理,4.9 向量中断控制器,SUBS PC, LR, #4,IRQ中断的设计实例,将EINT0中断分配为IRQ,中断服务程序地址设置为EINT0_ISR。,C代码:,步骤:,图示IRQ中断的发生过程,1.正在执行用户程序;,2.外部中断0发生中断;,3.VIC硬件将中断服务程序地址装入VICVectAddr寄存器;,4.程序跳转至异常向量表中IRQ入口0x0018处;,5.执行指令跳转至VICVectAddr寄存器中的中断服务地址;,6.中断服务程序执行完毕,返回被中断的用户程序继续执行被中断的代码。,图示IRQ中断的发生过程,IRQ_Eint0,注意: 任何IRQ中断产生之后,微控制器跳转到地址0x18执行代码,该地址处的指令为: LDR PC, PC, #-0xff0 在执行该指令时,PC指向当前指令后的第2条指令,即地址0x20。 该指令将内存地址: 0x20-0xFF0 0xFFFFF030 处的内容存入PC,该地址正是 VICVectAddr寄存器的地址。 所以一条ARM指令即可实现程序向中断服务程序的跳转。,外部中断输入,概述,LPC2000系列ARM具有32路外部中断,可以设置为2种类型: 边沿触发: 上升沿触发 下降沿触发 双边沿触发 电平触发: 高电平触发 低电平触发,外部中断输入,边沿触发中断,下降沿触发类型中断的请求和清除时序。,外部中断输入,电平触发中断,低电平触发类型中断的请求和清除时序。,中断源14 (EINT14),中断源15 (EINT15),中断源16 (EINT1631),4.10 外部中断输入,外部中断源,所以的外部中断源都由VIC0管理,其中外部中断含有16个独立的中断号和一个共用的中断号。,外部中断源寄存器组,外部中断源分组管理,分为4组: EXT_INT_0 EXT_INT_1 EXT_INT_2 EXT_INT_3,寄存器汇总,以EXT_INT_0组为例,下列为0号组所包含的寄存器,管脚 功能设置,GPHXCON,VIC,1,2,3,4,寄存器汇总,EXT_INT_X_PEND,中断标志,外部中断 触发方式,EXT_INT_X_CON,掩码设置,EXT_INT_X_MASK,EXT_INT_X_PEND,外部中断方式控制寄存器(EXT_INT_X_CON):,该寄存器控制着外部中断输入信号的有效触发方式,低四位分别对应外部中断30。对应位为0时,电平触发外部中断;对应位为1时,边沿触发外部中断。,该寄存器每3位设置一个中断源的触发方式,即EXT_INT_X_CON的02位用于设置中断源0;4位用于设置中断源;,触发方式的设置如图,掩码设置,中断标志,管脚 功能设置,GPHXCON,CPU 其它部件,寄存器汇总,若引脚上出现了符合要求的信号,EXT_INT_X_PEND寄存器中对应的中断标志将被置位。以0号组外部中断组为例,向该寄存器的EINT0EINT7位写入1,可将其清零。,外部中断标志寄存器(EXT_INT_X_PEND):,通过对该寄存器的设置可以屏蔽对应的中断信号。,外部中断掩码寄存器(EXT_INT_X_MASK):,外部中断 触发方式,EXT_INT_X_CON,EXT_INT_X_MASK,EXT_INT_X_PEND,外部中断与VIC的关系,注意:这里仅以EINT0为例来进行讲解,EINT1EINT3与之类似,此处不再重复。,外部中断0位于VIC0的0号中断源0,中断使能寄存器VIC0IntEnable0 = 1用来控制通道0的使能: 当VIC0IntEnClear0 = 1时,通道0中断禁止,外部中断与VIC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论