《异常中断处理》PPT课件

《异常中断处理》PPT课件

ID:36870137

大小:216.60 KB

页数:48页

时间:2019-05-10

《异常中断处理》PPT课件_第1页
《异常中断处理》PPT课件_第2页
《异常中断处理》PPT课件_第3页
《异常中断处理》PPT课件_第4页
《异常中断处理》PPT课件_第5页
资源描述:

《《异常中断处理》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章异常中断处理1AssembleLanguageofARM9.1ARM异常中断处理概述控制程序的执行流程有3种方式:正常情况下,程序每执行一条指令,程序计数器寄存器pc将增加4或2字节;通过跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行;B指令BL指令BLX指令,BX指令当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。2AssembleLanguageofARM异常中断名称含义复位当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。未定义指令当ARM处理器

2、或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。软件中断(SWI)该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用。指令预取中止若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。数据访问中止若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。外部中断请求(IRQ)当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系

3、统的外设可通过该异常请求中断服务。快速中断请求(FIQ)当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。9.1.1ARM体系中异常中断种类3AssembleLanguageofARM中断向量表指定了各异常中断及其处理程序的对应关系,通常放在内存的低地址端。在ARM体系中,异常中断向量表的大小为32字节,其中每个异常中断占据4个字节,保留4个字节。每个异常中断对应的中断向量表中的4个字节空间中存放一条跳转指令或者一条向PC寄存器中赋值的数据访问指令。9.1.2异常中断向量表及异常中断优先级4AssembleLang

4、uageofARM各异常中断的中断向量地址及其异常中断处理优先级表中断向量地址异常中断类型异常中断模式优先级*0x0复位特权模式(SVC)10x4未定义的指令未定义指令中止模式(Undef)60x8软件中断(SWI)特权模式(SVC)60x0c指令预取中止中止模式50x10数据访问中止中止模式20x14保留未使用未使用0x18外部中断请求(IRQ)外部中断(IRQ)模式40x1c快速中断请求(FIQ)快速中断(FIQ)模式3*注:1最高;6最低5AssembleLanguageofARM9.1.3异常中断使用的寄存器各异常中断对应着一定的

5、处理器模式。应用程序通常运行在用户模式下。各种不同的处理器模式对应于该处理器模式的物理寄存器组。6AssembleLanguageofARM异常处理中的寄存器使用与异常发生相关的模式改变意味着所调用的异常处理程序至少要访问:私有的SP_(stackpointer).私有的LR_(linkregister).私有的SPSR_(savedprogramstatusregister).在FIQ异常处理中,另有5个私有的通用寄存器(r8_fiqtor12_fiq).其它的寄存器是所有模式公用的.异常处理程序必须

6、确保其他的寄存器在退出前恢复到原来的状态这可以通过将任何正在使用的寄存器的内容保存在堆栈中,并在返回前恢复来实现任何所需寄存器的初始化要由应用程序的起始代码来完成,参阅:“EmbeddedSoftwareDevelopment”7AssembleLanguageofARM8AssembleLanguageofARM处理器模式描述用户模式(usr)正常程序执行的模式快速中断模式(fiq)用于高速数据传输或通道处理外部中断模式(irq)用于通用的中断处理特权模式(svc)供操作系统使用的保护模式(复位或软中断)中止模式(abt)当数据或指令预

7、取终止时进入该模式,可用于虚拟存储及存储保护。未定义指令中止模式(und)当未定义的指令执行时进入该模式,可用于支持通过软件仿真硬件的协处理器。系统模式(sys)用于运行具有特权级的操作系统任务。ARM中的处理器模式9AssembleLanguageofARMVectorTableVectortablecanbeat 0xFFFF0000onARM720T andonARM9/10familydevicesFIQIRQ(Reserved)DataAbortPrefetchAbortSoftwareInterruptUndefinedIns

8、tructionReset0x1C0x180x140x100x0C0x080x040x00当异常产生时,ARMcore:拷贝CPSR到SPSR_设置适当的CPSR位:改变处理器状态

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。