ARM的异常处理学习笔记转贴.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  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的异常处理学习笔记转贴--第1页

ARM的异常处理学习笔记转贴

ARM的异常处理

这部分比较不好理解。

当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程

序处执行。当异常中断处理程序执行完成后,程序返回到发生中断指令的下条指令

处执行。在进入异常中断处理程序时,要保存被中断程序的执行现场,从异常中断

处理程序退出时,要恢复被中断程序的执行现场。

1、引起异常的原因

(1)、指令执行引起的异常

软件中断、未定义指令(包括所要求的协处理器不存在是的协处理器指令)、预

取址中止(存储器故障)、数据中止。

(2)、外部产生的中断

复位、FIQ、IRQ。2、ARM中异常中断的种类(1)、复位(RESET)

a、当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常

中断处理程序处执行,包括系统加电和系统复位。

b、通过设置PC跳转到复位中断向量处执行称为软复位。(2)、未定义的指令

当ARM处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义的

指令异常中断,可以通过改异常中断机制仿真浮点向量运算。(3)、软件中断

这是一个由用户定义的中断指令(SWI)。可用于用户模式下的程序调用特权操

作指令。在实时操作系统中可以通过该机制实现系统功能调用。(4)、指令与取终

止(PrefechAbort)

ARM的异常处理学习笔记转贴--第1页

ARM的异常处理学习笔记转贴--第2页

如果处理器预取的指令的地址不存在,或者该地址不允许当前指令访问,当被

预取的指令执行时,处理器产生指令预取终止异常中断。(5)、数据访问终止

(DATAABORT)

如果数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理

器产生数据访问终止异常中断。(6)、外部中断请求(IRQ)

当处理器的外部中断请求引脚有效,而且CPSR的寄存器的I控制位被清除

时,处理器产生外部中断请求异常中断。系统中个外设通过该异常中断请求处

7)、快速中断请求(FIQ)理服务。(

当处理器的外部快速中断请求引脚有效,而且CPSR的F控制位被清除时,处

理器产生外部中断请求异常中断。3、异常的响应过程

除了复位异常外,当异常发生时,ARM处理器尽可能完成当前指令(除了复位异

常)后,再去处理异常。并执行如下动作:(1)、将引起异常指令的下一条指令的地

址保存到新模式的R14中,若异常是从ARM状态进入,LR寄存器中保存的是下一条

指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进

入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异

常是从何种状态进入的。例如:在软件中断异常SWI,指令MOVPC,R14_svc总是

返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。

(2)、将CPSR的内容保存到要执行异常中断模式的SPSR中。(注意:如果通过

程序修改CPSR进入异常模式,硬件将不会将CPSR保存到SPSR中)

(3)、设置CPSR相应的位进入相应的中断模式。

(4)、通过设置CPSR的第7位来禁止IRQ。如果异常为快速中断和复位。则还

要设置CPSR的第6位来禁止快速中断。

ARM的异常处理学习笔记转贴--第2页

ARM的异常处理学习笔记转贴--第3页

(5)、给PC强制赋向量地址值。ARM处理器内核会自动执行以上几步,程序计

数器PC总是跳转到相应的固定地址。如果异常发生时,处理器处于Thum

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档