ARM体系的CPU有以下7种工作模式

一、ARM体系的CPU有以下7种工作模式

1、用户模式(usr):正常的程序执行状态

2、快速中断模式(fiq): 处理快速中断,支持高速数据传送或通道处理

3、中断模式(irq): 处理普通中断

4、管理模式(svc):操作系统使用的保护模式

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

6、数据访问终止模式(abt):数据或指令预取终止时进入该模式

7、未定义指令终止模式(und):未定义的指令执行时进入该模式

ARM的7种工作模式及其切换
 

注解:

可以通过软件来进行模式切换,或者发生各类中断、异常时CPU自动进入相应的模式;

除用户模式外,其余6种工作模式都属于特权模式;

特权模式中除了系统模式以外的其余5种模式称为异常模式;

大多数程序运行于用户模式;

进入特权模式是为了具有更高的权限去处理中断、异常、或者访问被保护的系统资源;

在uboot开发时需要较高的权限去操作系统的硬件资源,因此会将其设置为系统模式。

二、ARM修改工作模式

想要切换模式可以通过软件来进行模式切换,或者发生各类中断、异常时CPU会自动进入相应的模式,这里讲讲如何通过软件进行切换。每一种模式下都会有其CPSR寄存器(状态字寄存器),从上图中可以看到每种模式都有其相应的Model Num,我们这里拿切换成管理模式(svc)来演示。我们对当前模式下的cpsr寄存器的M位[4:0]设置成svc的model num=0b10010,就可以使处理器切换到svc模式。由于uboot需要大量的操作系统的硬件资源等,所以就需要将它设置为svc模式。

 

ARM的7种工作模式及其切换

                         CPSR寄存器

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值