6 ARM的中断机制.pptx

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6 ARM的中断机制

;中断的基本概念 NVIC Cotex-M3中断机制 中断系统设置 STM32F103中断演示实例;中断的基本概念;; 中断源 能够引起中断的原因,或能够发出中断请求信号的外设。 外部设备通过电信号的变化来产生中断成为硬中断或者外部中断。 由软件本身产生,称为软中断或内部中断。;中断的基本概念;中断的基本概念;中断的基本概念;中断的基本概念;中断的基本概念 NVIC Cotex-M3中断机制 中断系统设置 STM32F103中断演示实例;NVIC;NVIC;NVIC;NVIC;NVIC;中断的基本概念 NVIC Cotex-M3中断机制 中断系统设置 STM32F103中断演示实例;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制; 当某中断的服务例程开始执行时,就称此中断进入了“活跃”状态,并且其悬起位会被硬件自动清除,如下图所示。在一个中断活跃后,直到其服务例程执行完毕,并且中断返回后,才能对该中断的新请求予以响应。当然,新请求在得到响应时,亦是由硬件自动清零其悬起标志位。中断服务例程也可以在执行过程中把自己对应的中断重新悬起。;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制; 假设入栈开始时,SP的值为N,则在入栈后,堆栈内部的变化如下表所示。又因为AHB接口上的流水线操作本性,地址和数据都在经过一个流水线周期之后才进入。另外,在自动入栈的过程中,把寄存器写入堆栈内存的时间顺序,并不是与写入的空间顺序相对应的。但是机器会保证:正确的寄存器将被保存到正确的位置,如下图所示。 ;Cortex-M3中断机制;Cortex-M3中断机制;Cortex-M3中断机制; 可以得出,合法的EXC_RETURN值共3个:;Cortex-M3中断机制;Cortex-M3中断机制;晚到中断: Cortex-M3的中断处理还有另一个机制,它强调了优先级的作用,这就是“晚到的中断处理”。当Cortex-M3对某中断的响应序列还处在早期:入栈的阶段,尚未执行其服务例程时,如果此时收到了高优先级中断的请求,则本次入栈就成了为高优先级中断所做的入栈操作后,将执行高优先级中断的服务例程。 例如,若在响应某低优先级异常 #1的早期,检测到了高优先级异常 #2,则只要异常 #2没有太晚,就能以“晚到中断”的方式处理在入栈完毕后执行ISR #2,如图9所示。如果异常#2来得太晚,以至于已经执行了ISR #1的指令,则按普通的抢占处理,这会需要更多的处理器时间和额外32字节的堆栈空间。 在ISR #2执行完毕后,则以 “咬尾中断”方式,来启动ISR #1的执行。 ;中断的基本概念 NVIC Cotex-M3中断机制 中断系统设置 STM32F103中断演示实例;中断系统设置;中断系统设置;中断系统设置; 另外,如果优先级组的设置使得中断嵌套层次可以很深,则需要确认主堆栈的容量足够用。因为异常服务程序总是使用MSP,为安全起见,主堆栈的容量应是最大可能需求的量(嵌套最深时需要的量)。 如果应用程序储存在ROM中,并且不需要改变异常服务程序,则我们可以把整个向量表编码到ROM的起始区域(从0地址开始的那段)。在这种情况下,向量表的偏移量将一直为0,并且中断向量一直在ROM中,因此上例可以大大简化,只需3步: 1. 建立优先级组 2. 为该中断指定优先级 3. 使能该中断 如果在I/O密集型系统中,软件需要控制大量的硬件设备,则可能必须要考虑如下因素: ? 该芯片支持的中断数 ? 该芯片中表达优先级的位数 ;中断的基本概念 NVIC Cotex-M3中断机制 中断系统设置 STM32F103中断演示实例;STM32F103中断演示实例;STM32F103中断演示实例;IO口外部中断在中断向量表中的位置;IO口外部中断在中断向量表中的位置;IO口外部中断在中断向量表中的位置;IO口外部中断在中断向量表中的位置;RCC_BASE EQU 0 ;Reset and clock control CR EQU 0x00 ;Clock control register CFGR EQU 0x04 ;Clock configuration register CIR EQU 0x08 ;Clock interrupt register

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档