ARM异常中断处理及编程.pptVIP

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM嵌入式体系结构与接口技术 第7章 ARM异常中断处理及编程 第1章 嵌入式系统基础知识 第2章 ARM技术概述 第3章 ARM的指令系统 第4章 ARM汇编语言程序设计 第5章 ARM Realview MDK集成开发环境 第6章 GPIO编程 第7章 ARM异常中断处理及编程 第8章 串行通信接口 第9章 存储器接口 第10章 定时器 第11章 A/D转换器 第12章 LCD接口设计 第13章 温度监测仪开发实例 7.1 ARM异常中断处理概述 7.2 ARM体系异常种类 7.3 ARM异常的优先级 7.4 ARM 处理器模式和异常 7.5 ARM 异常响应和处理程序返回 7.6 ARM应用系统中异常中断处理程序的安装 7.7 ARM的SWI异常中断处理程序设计 7.8 FIQ和IRQ异常中断程序设计 7.9 基于ARM9 S3C2410X异常中断程序设计 7.10 小结 7.11 思考与练习 1、中断的概念 中断是一个过程,是CPU在执行当前程序的过程中因硬件或软件的原因插入了另一段程序运行的过程。因硬件原因引起的中断过程的出现是不可预测的,即随机的,而软中断是事先安排的。 2、中断源的概念 我们把可以引起中断的信号源称之为中断源。 3、中断优先级的概念 ARM处理器中有7种类型的异常,按优先级从高到低的排列如下:复位异常(Reset)、数据异常(Data Abort)、快速中断异常(FIQ)、外部中断异常(IRQ)、预取异常(Prefetch Abort)、软件中断(SWI)和未定义指令异常(Undefined instruction) ARM的7种异常 当异常发生时,处理器会把PC设置为一个特定的存储器地址。这一地址放在被称为向量表(vector table)的特定地址范围内。向量表的入口是一些跳转指令,跳转到专门处理某个异常或中断的子程序。 当异常发生时,分组寄存器r14和SPSR用于保存处理器状态,操作伪指令如下。 R14_exception_mode = return link SPSR_exception_mode = CPSR CPSR[4∶0] = exception mode number CPSR[5] = 0 /*进入ARM状态*/ If exception_mode = = reset or FIQ then CPSR[6] = 1 /*屏蔽快速中断FIQ*/ CPSR[7] = 1 /*屏蔽外部中断IRQ*/ PC = exception vector address 异常返回时,SPSR内容恢复到CPSR, 连接寄存器r14的内容恢复到程序计数器PC。 异常处理向量表 1.复位异常 当处理器的复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面两种情况下。 系统上电。 系统复位。 当复位异常时,系统执行下列伪操作: R14_svc = UNPREDICTABLE value SPSR_svc = UNPREDICTABLE value CPSR[4∶0] = 0b10011 /*进入特权模式*/ CPSR[5] = 0 /*处理器进入ARM状态*/ CPSR[6] = 1 /*禁止快速中断*/ CPSR[7] = 1 /*禁止外设中断*/ If high vectors configured then PC = 0xffff0000 Else PC = 0 1.复位异常 复位异常中断处理程序的主要功能。 ? 设置异常中断向量表。 ? 初始化数据栈和寄存器。 ? 初始化存储系统,如系统中的MMU等。 ? 初始化关键的I/O设备。 ? 使能中断。 ? 处理器切换到合适的模式。 ? 初始化C变量,跳转到应用程序执行。 2.未定义指令异常 当ARM处理器执行协处理器指令时,它必须等待一个外部协处理器应答后,才能真正执行这条指令。若协处理器没有相应,则发生未定义指令异常 当未定义异常发生时,系统执行下列的伪操作: r14_und = address of next instruction after the undefined instruction SPSR_und = CPSR CPSR[4∶0] = 0b11011 /*进入未定义指令模式*/ CPSR[5] = 0 /*处理器进入ARM状态*/ /*CPSR[6]保持不变*/ CPSR[7] = 1 /*禁止外设中

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档