ARM中用户模式和系统模式之间的区别

时间:2019-02-11 15:44:14

标签: arm embedded

以下摘录来自ARM system developer's guide Complete ARM register set

  

除用户模式外,所有处理器模式均可通过写入更改模式   直接连接到cpsr的模式位。除以下所有处理器模式   系统模式具有一组相关的存储区寄存器,它们是   主要的16个寄存器的子集。

我的问题是:

  1. 用户模式和系统模式是否相同?还是其他模式?
  2. 系统模式可以通过直接写入cpsr的模式位来更改模式吗?
  3. 用户模式是否有一组关联的存储区寄存器,它们是16个主要寄存器的子集?

2 个答案:

答案 0 :(得分:2)

  
      
  1. 用户模式和系统模式是否相同?还是其他模式?
  2.   

在您链接的同一参考中, 2.2.1处理器模式

  

系统模式是用户模式的特殊版本,它允许完全   对cpsr的读写访问权限


  
      
  1. 系统模式可以通过直接写入cpsr的模式位来更改模式吗?
  2.   

见上文。


  
      
  1. 用户模式是否有一组关联的存储区寄存器,它们是16个主要寄存器的子集?
  2.   

它使用与系统模式相同的寄存器;只是CPSR访问有所不同。

答案 1 :(得分:0)

  
      
  1. 用户模式和系统模式是否相同?还是其他模式?
  2.   

此外,从您链接的同一参考中,第2.1 REGISTERS

  

处理器可以在七种不同的模式下运行,我们将   简短介绍。

您可以推断出系统模式和用户模式是不同的模式。

  
      
  1. 系统模式可以通过直接写入cpsr的模式位来更改模式吗?
  2.   

由于系统模式和用户模式是不同的模式,因此系统模式肯定可以通过直接写入cpsr的模式位来更改模式。根据图片下方的参考。

  
      
  1. 用户模式是否有一组关联的存储区寄存器,它们是16个主要寄存器的子集?
  2.   

不,不是。

我坚持认为这是手册的错字。