- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 ARM系统中的中断系统
第8章 ARM系统中的中断系统 8.1 ARM系统中断系统概述 8.2 ARM系统中断控制器 8.3 ARM系统中断源 8.4 ARM系统中断模式 8.5 ARM系统中断控制器的寄存器控制 8.6 ARM系统中断应用编程 8.7 习 题 8.1 ARM系统中断系统概述 当正常的程序执行过程中发生暂时的停止的,称为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。 中断与堆栈设置和ARM体系结构紧密相关,ARM是一种支持多任务操作的系统内核,内部的结构完全适应多任务应用。 当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。当异常中断处理程序执行完成后,程序返回到发生中断指令的下条指令处执行。在进入异常中断处理程序时,要保存被中断程序的执行现场,从异常中断处理程序退出时,要恢复被中断程序的执行现场。 8.1.1 引起异常的原因 1.指令执行引起的异常 软件中断、未定义指令(包括所要求的协处理器不存在,但它是协处理器指令)、预取址中止(存储器故障)、数据中止。 2.外部产生的中断 复位、FIQ、IRQ。 8.1.2 ARM中异常中断的种类 1.复位(RESET) (1)当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行,包括系统加电和系统复位。 (2)通过设置PC跳转到复位中断向量处执行称为软复位。 2.未定义的指令 当ARM处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常中断,可以通过改异常中断机制仿真浮点向量运算。 3.软件中断 这是一个由用户定义的中断指令(SWI)。可用于用户模式下的程序调用特权操作指令。在实时操作系统中可以通过该机制实现系统功能调用。 4.指令预取终止(Prefetch Abort) 如果处理器预取指令的地址不存在,或者该地址不允许当前指令访问,当被预取的指令执行时,处理器产生指令预取终止异常中断。 5.数据访问终止(Data Abort) 如果数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问终止异常中断。 6.外部中断请求(IRQ) 当处理器的外部中断请求引脚有效,而且CPSR的寄存器的I控制位被清除时,处理器产生外部中断请求异常中断。系统中各外设通过该异常中断请求处理服务。 7.快速中断请求(FIQ) 当处理器的外部快速中断请求引脚有效,而且CPSR的F控制位被清除时,处理器产生外部中断请求异常中断。 8.1.3 异常的响应过程 除了复位异常外,当异常发生时,ARM处理器尽可能完成当前指令(除了复位异常)后,再去处理异常。并执行如下动作: 1.将引起异常指令的下一条指令的地址保存到新模式的R14中,若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令MOV PC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。 2.将CPSR的内容保存到要执行异常中断模式的SPSR中。 3.设置CPSR相应的位进入相应的中断模式。 4.通过设置CPSR的第7位来禁止IRQ。如果异常为快速中断和复位。则还要设置CPSR的第6位来禁止快速中断。 5.给PC强制赋向量地址值。 ARM处理器内核会自动执行以上几步,程序计数器PC总是跳转到相应的固定地址。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态,则异常处理返回时,自动切换到Thumb状态。 8.1.4 异常中断处理返回 异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回: 1.将所有修改过的用户寄存器从处理程序的保护栈中恢复。 2.将SPSR复制回CPSR中,将连接寄存器LR的值减去相应的偏移量后送到PC中。 3.若在进入异常处理时设置了中断禁止位,要在此清除。复位异常处理程序不需要返回。 8.1.5 ARM系统中的中断向量表 当一个异常或中断发生时,处理器会把PC设置为一个特定的存储器地址。这一地址放在一个被称为向量表(vector table)的特定地址范围内。向量表的入口是一些跳转指令,跳转到专门处理某个异常或中断的子程序。存储器映射地址0为向量表保留的。在有些处理器中,向量表可以选择定位在存储空间的更高地址(从偏移量0xffff00
您可能关注的文档
- 第2章 半导体材料的电学性能.ppt
- 第33讲 宋明理学和明末清初的思想活跃局面.ppt
- 第3章 JSP内建对象.ppt
- 第2章a 单片机的硬件结构.ppt
- 第38课时-生态系统的物质循环.ppt
- 第3章 线性相关性 自测题.doc
- 第3章 著作权的主体.ppt
- 第3章酶的应用 -第2课时 探讨加酶洗衣粉的洗涤效果.doc
- 第2讲 走进实验室.doc
- 第3部分-软件测试人员(.NET)_3级_软件测试知识应用项目复习题.doc
- 2025年农贸市场菜市场十八项制度.doc
- 2021-2022学年重庆市渝北区人教版五年级下册期末学业质量监测数学试卷-4110.pdf
- 2021-2022学年内蒙古通辽市科左中旗实验小学人教版五年级下册期末考试数学试卷-3586.pdf
- 2021-2022学年浙江省宁波市奉化区人教版五年级下册期末检测数学试卷-3668.pdf
- 2021-2022学年云南省保山市隆阳区人教版五年级下册期中测试数学试卷-6969.pdf
- 2021-2022学年新疆喀什地区人教版五年级下册期末测试数学试卷-1049.pdf
- 2021-2022学年浙江省绍兴市上虞区人教PEP版五年级下册期末质量检测英语试卷-5797.pdf
- 2021-2022学年浙江省宁波市鄞州区人教版五年级下册期末测试数学试卷-5633.pdf
- 2021-2022学年新疆维吾尔自治区阿瓦提县人教版五年级下册期中测试数学试卷-1232.pdf
- 2021-2022学年云南省昆明市人教版五年级下册期末测试数学试卷-5528.pdf
最近下载
- 机械测量培训课程.pptx
- 医疗器械安全有效基本要求清单填写参考模板2024年.docx
- 人教版(2024)数学一年级下册四 100以内的口算加、减法 练习.pptx
- 电气装置安装工程质量检验及评定规程DLT5161 2018.doc
- 做好客舱清洁前准备课件讲解.pptx
- 铁道信号论文-信号机维护与故障处理.doc
- ISO13485质量手册+全套程序文件.docx VIP
- 汽车机械维修工(高级技师)职业鉴定考试题库资料(高频300题).pdf
- 多维视角下梧州市普通高中体育生学训现状剖析与发展路径探索.docx
- 江南事业编招聘考试题历年公共基础知识真题汇总-综合应用能力(2010-2021.pdf VIP
文档评论(0)