Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119602
  • 博文数量: 16
  • 博客积分: 1464
  • 博客等级: 上尉
  • 技术积分: 221
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-15 21:35
文章分类

全部博文(16)

文章存档

2011年(3)

2010年(7)

2009年(2)

2008年(1)

2006年(3)

我的朋友

分类: LINUX

2010-12-20 23:23:18

                  arm处理器模式解析

  arm处理器中,可以使用的寄存器和模式有很多。下面我就来说下我的心得。

 

ARM微处理器支持7种运行模式,分别为:

 

  usr(用户模式):ARM处理器正常程序执行模式。(正常模式)

  sys(系统模式): 运行具有特权的操作系统任务。(正常模式、特权模式)

 

 

  fiq(快速中断模式):用于高速数据传输或通道处理(异常模式、特权模式)

  irq(外部中断模式):用于通用的中断处理(异常模式、特权模式)

  svc(管理模式):操作系统使用的保护模式(异常模式、特权模式)

  abt (数据访问终止模式) 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。 (异常模式、特权模式)

  und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。 (异常模式、特权模式)

ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。

 

 

usr 和 sys 模式具有相同的寄存器资源,但sys有特殊权限,比如修改cpsr的值,来改变运行模式。

而usr模式不行。

svc 为管理模式,系统一上电,就会跳转到reset向量处,其实就是跳转到管理模式执行。当然在用户模式需要做系统调用的时候通常swi进入此模式。

 

 

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