Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3547096
  • 博文数量: 1805
  • 博客积分: 135
  • 博客等级: 入伍新兵
  • 技术积分: 3345
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 20:01
文章分类

全部博文(1805)

文章存档

2017年(19)

2016年(80)

2015年(341)

2014年(438)

2013年(349)

2012年(332)

2011年(248)

分类: LINUX

2013-12-16 14:45:00

ARM包括以下几种异常类型:1.复位(如加电,系统复位等)2.未定义指令 3.软中断 4.指令预取中止 5.数据访问中止 7.外部中断请求 8.快速中断请求

中断处理过程:
1.保存处理器当前状态,中断屏蔽以及各条件标志位。即将CPSR寄存器中的值保存到SPSR寄存器中。
2.设置CPSR寄存器中的CPU运行模式位,使之切换到相应模式中去,并且关中断。
3.将寄存器 lr_mode(即 r14)寄存器设置成返回地址。
4.将指令指针寄存器设置成该异常中断的中断向量地址。从而跳转到相应的异常中断处理程序处执行。

从异常中断处理程序中返回
1.恢复被中断程序的状态,即将SPSR寄存器内容复制到CPSR中
2.返回到发生中断异常指令的下一条指令处执行。即将 lr_mode寄存器的内容复制到指令指针寄存器中。

阅读(303) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~