ARM有⼏种⼯作模式?

浏览量:2996
时间: 2023-10-27 10:31:33

image.png

1. ⽤户模式(USR)

⽤户模式是⽤户程序的⼯作模式,它运⾏在操作系统的⽤户态,它没有权限去操作其它硬件资源,只能 执⾏处理⾃⼰的数据,也不能切换到其它模式下,要想 访问硬件资源或切换到其它模式只能通过软中断或产⽣异常。


2. 系统模式(SYS)

系统模式是特权模式,不受⽤户模式的限制。⽤户模式和系统模式共⽤⼀套寄存器,操作系统在该模式 下可以⽅便的访问⽤户模式的寄存器,⽽且操作系统的 ⼀些特权任务可以使⽤这个模式访问⼀些受控的资源。 说明:⽤户模式与系统模式两者使⽤相同的寄存器,都没有SPSR(Saved Program Statement Register,已保存程序状态寄存器),但系统模式比⽤户模式有更⾼的权限,可以访问所有系统资 源。


3. ⼀般中断模式(IRQ)

⼀般中断模式也叫普通中断模式,⽤于处理⼀般的中断请求,通常在硬件产⽣中断信号之后⾃动进入该 模式,该模式为特权模式,可以⾃由访问系统硬件资源。


4. 快速中断模式(FIQ) 快速中断模式是相对⼀般中断模式⽽⾔的,它是⽤来处理对时间要求比较紧急的中断 请求,主要⽤于⾼速数据传输及通道处理中。(快中断有许多(R8~R14)⾃⼰的专⽤寄存器,发⽣中断 时,使⽤⾃⼰的寄存器就避免了保存和恢复某些寄存器。如果异常中断处理程序中使⽤它⾃⼰的物理寄 存器之外的其他寄存器,异常中断处理程序必须保存和恢复这些寄存器)


5. 管理模式(SVC) 管理模式是CPU上电后默认模式,因此,在该模式下主要⽤来做系统的初始化,软中 断处理也在该模式下。当⽤户模式下的⽤户程序请求使⽤硬件资源时,通过软件中断进入该模式。 说明:系统复位或开机、软中断时进入到SVC模式下。


6. 终⽌模式(ABT): 中⽌模式⽤于⽀持虚拟内存或存储器保护,当⽤户程序访问非法地址,没有权限读取 的内存地址时,会进入该模式,linux下编程时经常出现的segment fault通常都是在该模式下抛出返回 的。


7. 未定义模式(UND): 未定义模式⽤于⽀持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该 指令操作时,会进入未定义模式。

1. 除了⽤户模式外,其它6种模式称为特权模式。所谓特权模式,即具有如下权利:

a. MRS(把状态寄存器的内容放到通⽤寄存器);

b. MSR(把通⽤寄存器的内容放到状态寄存器中)。 由于状态寄存器中的内容不能够改变,因此,要先把内容复制到通⽤寄存器中,然后修改通⽤寄存器中 的内容,再把通⽤寄存器中的内容复制给状态寄存器中,即可完成“修改状态寄存器”的任务。

2. 剩下的六种模式中除去系统模式外,统称为异常模式。 


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
技术岗多轮面试怎么应对?HR面/技术面/主管面各有侧重

分类:面试技巧与通用知识经验级别:基础难度:基础题型:面试流程/多轮面试应对📖 本文概述现在的技术岗招聘一般都有好几轮面试,每一轮的面试官角色不同,考察的重点... 详情>>

2026-08-08 16:46:51
为了减少开关噪声引起的PCB传导和辐射发射,请选择具有▁▁▁▁▁▁▁▁▁尽可能小的DC-DC转换器。

为了减少开关噪声引起的PCB传导和辐射发射,请选择具有▁▁▁▁▁▁▁▁▁尽可能小的DC-DC转换器。开关频率封装静态电流输出电流正确答案:b为了减少开关电源电路... 详情>>

2024-03-20 14:52:15
AC耦合电容在高速串行链路中怎么影响设计与仿真?PCB仿真面试从容值讲到回损

一句话答案AC耦合电容串在TX和RX之间隔直流,容值按协议定(PCIe一般100nF、SATA 10nF),靠近发送端放;它引入阻抗不连续,容值过小会衰减低频、... 详情>>

2026-09-13 21:27:14
FPGA时序约束怎么做?建立时间与保持时间分析核心考点

FPGA设计中等偏难技术面试时序分析时序约束本文概述时序分析是FPGA工程师面试必考题。建立时间是时钟沿到来前数据必须稳定的最短时间,保持时间是时钟沿过后数据必... 详情>>

2026-08-26 17:25:32
单片机定时器怎么产生PWM?频率和占空比到底由谁决定?

很多嵌入式岗位都会问定时器、计数比较和硬件PWM,这里重点是把计算关系讲对,并指出不同计数模式的差异。面试官这样问不用delay软件翻转GPIO,而用MCU硬件... 详情>>

2026-10-31 15:40:44
开班信息