ARM的工作模式和37个寄存器

news/2024/4/26 3:39:31/文章来源:https://blog.csdn.net/qq_41975640/article/details/129235366

一、ARM的工作模式

ARM一共有7种工作模式

模式含义
User非特权模式,大部分任务执行在这种模式
FIQ当一个高优先级(fast) 中断产生时将会进入这种模式
IRQ当一个低优先级(normal) 中断产生时将会进入这种模式
Supervisor当复位或软中断指令执行时将会进入这种模式
Abort当存取异常时将会进入这种模式
Undef当执行未定义指令时会进入这种模式
System使用和User模式相同寄存器集的特权模式

1、7个模式中除了user是普通模式以外,其他6个都是特权模式
2、6个特权模式中,除了System模式以外,其他5个都是异常模式
3、模式的切换是通过代码写CPSR寄存器进行主动切换的,或者CPU自动切换
4、各种模式可访问的寄存器数量不同,操作权限不同,方便操作系统的安全等级需求

二、ARM的寄存器

2.1 ARM的37个寄存器

1、ARM一共有37个寄存器,在不同的工作模式下,可操作不同的寄存器,
2、37个寄存器中30个为“通用” 型, 1个固定用作PC,一个固定用作CPSR, 5个固定用作5种异常模式下的SPSR
3、User和System模式共用同一组寄存器

在这里插入图片描述

2.2 ARM的程序状态寄存器

CPSR程序状态寄存器
在这里插入图片描述

1、CPSR中的各个Bit位表明了CPU的某些状态信息
2、CPSR中的I、F位和开关中断有关
3、CPSR中的mode位(bit4~bit0共5位)决定了CPU的工作模式,在uboot代码中会使用汇编进行设置

2.3 ARM的程序控制寄存器

PC(r15)程序控制寄存器

1、PC为程序指针, PC指向哪里, CPU就会执行哪条指令(所以程序跳转时就是把目标地址代码放到PC中)
2、CPU中只有一个PC、一个CPSR,5个SPSR

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74693.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CISP注册信息安全专业人员证书

一、什么是“CISP”? 注册信息安全专业人员(Certified Information Security Professional,简称“CISP”),是安全行业最为权威的安全资格认证,由中国信息安全测评中心统一授权组织,中国信息安全测评中心授权培训机构进…

GMP洁净净化车间布局建设|喜格净化设计建设

GMP洁净净化车间布局建设方案应该根据具体的生产流程、工艺要求和产品特点进行设计。以下喜格SICOLAB基本的设计原则和注意事项:(1)设计洁净度级别:根据产品特点和生产工艺要求,确定洁净度级别,一般分为100…

OpenCV 图像轮廓检测

本文是OpenCV图像视觉入门之路的第15篇文章,本文详细的介绍了图像轮廓检测的各种操作,例如:轮廓检索模式、轮廓逼近算子等操作。 图像轮廓是具有相同颜色或灰度的连续点的曲线,轮廓在形状分析和物体的检测和识别中很有用。图像轮廓…

2023年鞋服配饰行业如何玩转全域经营?

2023年,鞋服配饰行业私域已进入深水区,这就对私域运营提出了更高的挑战和目标,企业纷纷发力以私域为基石、以消费者为核心的全域经营。 不过,虽然鞋服配饰行业私域起步早,玩法多。但在迈向全域经营的过程中&#xff0…

IntelliJ插件开发教程之新建项目

JetBrains公司系列产品IDEA、WebStrom、PyCharm、CLion、GoLand等都是基于IntelliJ Platform开发而成,掌握IntelliJ插件开发技能便能拥有提升开发效率的终极武器。本教程Demo源码请微信公众号“开发效率”进行获取。阅读原文如果您是JetBrains产品的用户&#xff0c…

【打卡】图分析与节点嵌入

背景介绍 图(Graphs)是一种对物体(objects)和他们之间的关系(relationships)建模的数据结构,物体以结点(nodes)表示,关系以边(edges)…

【数电基础】——数制和码制

目录 1.概述 1.信号(电路)的功能 2.信号的分类: 3.数字信号的输入和输出的逻辑关系表示方法 2.数制 1.十进制(D/d) 2.二进制(B/b) 3.八进制(O/o) 4.十六进制(H/h)…

腾讯TIM实现即时通信 v3+ts实践

目录 初始化sdk 功能描述 初始化 准备 SDKAppID 调用初始化接口 监听事件 发送消息 创建消息 创建文本消息 登录登出 功能描述 登录 登出 销毁 登录设置 获取会话列表 功能描述 获取会话列表 获取全量的会话列表 历史消息 功能描述 拉取消息列表 分页拉取…

C++ Primer Plus 第6版 读书笔记(2)第2章 开始学习 C++

C是在 C 语言基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言,是C语言的超集。本书是根据2003年的ISO/ANSI C标准编写的,通过大量短小精悍的程序详细而全面地阐述了 C的基本概念和技术,并专辟一章介绍了C11新增的功能…

Telnet 基础实验2: SSH 实验

Telnet 基础实验2: SSH 实验 本实验只能使用 eNSP中 AR 系统的路由器做 拓扑图 SSH : Secure Shell 是一个网络安全协议,基本于 TCP 协议 22 端口传输数据,通过对网络数据的加密,使其能够在一个不安全的网络环境中&a…

浅析Tomcat架构上的Valve内存马(内存马系列篇十一)

写在前面 这篇也是在Tomcat容器上面构造的内存马(收回之前说的不搞Tomcat了),这是建立在Tomcat的管道上面做文章的一个内存马的实现方式。这是内存马系列的第十一篇文章了。 前置 什么是Pipeline-Valve管道? 根据前面Tomcat架构的相关知识&#xff0…

Java中的this与super关键字深度解析

一、this关键字this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。(1)this.属性名this修饰的变量用于指代成员变量方法的形参如果…

3 决策树及Python实现

1 主要思想 1.1 数据 1.2 训练和使用模型 训练:建立模型(树) 测试:使用模型(树) Weka演示ID3(终端用户模式) 双击weka.jar选择Explorer载入weather.arff选择trees–>ID3构建树…

SVIP优先办理服务-课后程序(JAVA基础案例教程-黑马程序员编著-第八章-课后作业)

【案例8-2】 Svip优先办理服务 【案例介绍】 1.任务描述 在日常工作生活中,无论哪个行业都会设置一些Svip用户,Svip用户具有超级优先权,在办理业务时,Svip用户具有最大的优先级。 本案例要求编写一个模拟Svip优先办理业务的程…

newbing的注册使用

newbing是一款全新的智能搜索引擎,它可以帮助你快速、准确地找到你想要的信息,还可以与你进行友好、有趣的对话。newbing不仅拥有强大的搜索功能,还具备创造性和逻辑性,可以为你生成诗歌、故事、代码、歌词等各种内容。newbing还可…

【Spring从成神到升仙系列 一】2023年再不会动态代理,就要被淘汰了

👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙…

浅析 Redis 主从同步与故障转移原理

我们在生产中使用 Redis,如果只部署一个 Redis 实例,当该实例宕机,到恢复之前都不可用;虽说 Redis 一般都用来做缓存,但不可用给业务系统带来的影响也是不小的,流量大时甚至会导致整个服务宕机。所以 Redis…

芯驰(E3-gateway)开发板环境搭建

1-Windows下环境配置 可以在Windows上使用命令行或者IAR IDE编译SSDK项目。Windows编译依赖的工具已经包含在 prebuilts/windows 目录中,包括编译器、Python和命令行工具。 1.1.1 CMD SSDK集成 msys 工具,可以在Windows命令行中完成SDK的配置、编译和…

Binder系统-C程序示例_框架分析

IPC:进程间的通信,远程调用,比如我们的A进程需要打开LED灯,调用led_open/led_ctl方法,但是他是没有权限去操作的,所以进程A通过:1.首先构造一些数据,2.通过IPC发送数据到进程B&#…

【分布式系统】MinIO之Multi-Node Multi-Drive架构分析

文章目录架构分析节点资源硬盘资源服务安装安装步骤创建系统服务新建用户和用户组创建环境变量启动服务负载均衡代码集成注意最近打算使用MinIO替代原来使用的FastDFS,所以一直在学习MinIO的知识。这篇文章是基于MinIO多节点多驱动的部署进行研究。 架构分析 节点资…