凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

ARM的异常中断

已有 727 次阅读| 2015-12-3 14:49 |个人分类:嵌入式培训

计算机通常用异常来处理在执行程序时发生的意外事件,如中断、存储器故障等,它需要停止程序的执行流程。在正常的程序执行过程中,每执行一条ARM指令,程序计数器PC的值加4;每执行一条Thumb指令,程序计数器的PC值加2,整个过程按顺序执行。在程序执行过程中通常通过控制跳转类指令,程序可跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。而当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行异常处理,异常中断处理完成后,程序返回。

异常中断事件改变了程序正常执行的顺序,是程序执行的非正常状态。在进入异常中断处理程序时,要保存被中断的程序的执行现场。在从异常中断处理程序退出时,要恢复被中断的程序的执行现场。每种异常中断都具有各自的备份寄存器组。对异常中断的了解是处理器应用必须掌握的基本知识。

ARM体系结构中,异常中断用来处理软件中断、未定义指令陷阱及系统复位功能和外部事件,这些“不正常”事件都被规划“异常”,因为在处理器的控制机制中,它们都使用同样的流程进行异常处理。

ARM异常按引起异常事件的不同可分为3类:

(1)       指令异常引起的直接异常

软件中断、未定义指令和预取指中止(因为取指过程中的存储器故障导致的无效指令)属于这一类。

(2)       指令执行引起的间接异常

数据中止(在读取和存储数据时的存储器故障)属于这一类。

(3)       外部产生的与指令流无关的异常

复位、IRQFIQ属于这一类。

下表给出了ARM体系结构支持的异常中断的类型、异常中断下的工作模式、异常中断处理程序入口向量地址和每种异常中断的含义,每种模式下可访问的存储器可参考图1

ARM 体系中的异常中断

图1

凌阳教育,专注嵌入式人才培养13年,为大量企业输送优秀的嵌入式工程师。每个凌阳学子都在企业实现着自己的价值。想了解凌阳教育或者免费嵌入式学习资料下载,请点击www.sunplusedu.com访问凌阳教育官网。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 02:03 , Processed in 0.010559 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部