- 1、本文档共97页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(1)复位 当处理器的复位电平有效时,产生复位异常,ARM处理器立刻停止执行当前指令。复位后,ARM处理器在禁止中断的管理模式下,程序跳转到复位异常处理程序处执行(从地址00xFFFF0000开始执行指令)。 (2)未定义指令异常 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。当ARM处理器执行协处理器指令时,它必须等待任一外部协处理器应答后,才能真正执行这条指令。若协处理器没有响应,就会出现未定义指令异常。若试图执行未定义的指令,也会出现未定义指令异常。未定义指令异常可用于在没有物理协处理器(硬件)的系统上,对协处理器进行软件仿真,或在软件仿真时进行指令扩展。 异常类型的含义 3.2.5 ARM处理器的异常处理 (3)软件中断异常(SoftWare Interrupt,SWI) 软件中断异常由执行SWI指令产生,可使用该异常机制实现系统功能调用,用于用户模式下的程序调用特权操作指令,以请求特定的管理(操作系统)函数。 (4)指令预取中止 若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出存储器中止(Abort)信号,但当预取的指令被执行时,才会产生指令预取中止异常。 (5)数据中止(数据访问存储器中止) 若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。存储器系统发出存储器中止信号。响应数据访问(加载或存储)激活中止,标记数据为无效。在后面的任何指令或异常改变CPU状态之前,数据中止异常发生。 (6)外部中断请求(IRQ)异常 当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务。IRQ异常的优先级比FIQ异常的低。当进入FIQ处理时,会屏蔽掉IRQ异常。 3.2.5 ARM处理器的异常处理 异常类型的含义 (7)快速中断请求(FIQ)异常 当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。FIQ支持数据传送和通道处理,并有足够的私有寄存器。 3.2.5 ARM处理器的异常处理 异常类型的含义 3.2.5 ARM处理器的异常处理 异常中断的优先级 异常类型 优先级 复位 1(最高优先级) 数据中止 2 FIQ 3 IRQ 4 预取中止 5 未定义指令 6 SWI 6(最低优先级) 3.2.5 ARM处理器的异常处理 地 址 异 常 进入模式 0x0000,0000 复位 管理模式 0x0000,0004 未定义指令 未定义模式 0x0000,0008 软件中断 管理模式 0x0000,000C 中止(预取指令) 中止模式 PABT 0x0000,0010 中止(数据) 中止模式 DABT 0x0000,0014 保留 保留 0x0000,0018 IRQ IRQ 0x0000,001C FIQ FIQ 异常向量表(Exception Vectors) 3.2.5 ARM处理器的异常处理 课后作业题 课下查找资料,分析一下问题 (1)ARM处理器产生异常后的处理过程,包括:对异常的响应、异常处理后的返回? (2)不同异常现象(FIQ、IRQ、软件中断、中止等)的处理过程?各种异常的返回指令又是什么? * * * * * 系统:System mode, only present in ARM V4 and above. It is not entered by any exception and has exactly the same registers available as User mode. However, it is a privileged mode and is therefore not subject to the User mode restrictions. It is intended for use by operation system tasks which need access to system resources, but wish to avoid using the additional registers associated with the exception modes. Avoiding such use ensures that the task state is not corrupted by the occurrence of any exception. It is used to run tasks that require privileged access to memory and/or coprocessors, w
文档评论(0)