ARM工作模式

ARM

  • ARM架构
  • ARM七个工作模式
  • 寄存器
  • 异常向量表
  • 存储格式(内存大小端)
  • 汇编指令

ARM架构

在这里插入图片描述
RAM:随机访问存储器
ROM:只读访问存储器
AHB:先进高速总线
APB:先进外设总线
USB:统一串行总线
norflash:可以被寻址
nandflash:不可以被寻址
ALU:算数逻辑单元

ARM七个工作模式

在这里插入图片描述

user:  用户模式(USR):正常程序执行模式,不能直接切换到其他模式
system:系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式等特权
FIQ:   快中断模式(FIQ):支持高速数据传输及通道处理,FIQ异常响应时进入此模式
IRQ:   中断模式(IRQ):用于通用中断处理,IRQ异常响应时进入此模式
Supervisor:管理模式(SVC):操作系统保护模式,系统复位和软件中断响应时进入此模式(由系统调用执行软中断SWI命令触发)
Abort: 中止模式(ABT):用于支持虚拟内存和/或存储器保护,在ARM7TDMI没有大用处
Undef: 未定义模式(UND):支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式

寄存器

ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。
Cortex有40个32位寄存器
r0 - r12:通用寄存器
r13 (sp):栈指针寄存器
r14(lr):链接寄存器
r15(pc):程序计数器:指向程序运行的下一行
cpsr:当前程序状态寄存器
spsr:备份程序状态寄存器
在这里插入图片描述

异常向量表

函数指针的数组

1.拷贝cpsr到spsr上
2.设置
3.保存返回地址到LR_
4.设置pc为相应的异常向量
返回时:
1.从spsr_恢复cpsr
2.从LR_恢复PC

总结:恢复cpsr和pc

在这里插入图片描述

存储格式(内存大小端)

存储器格式:
大端格式:高字节在低地址,低字节在高地址
小端格式:高字节在高地址,低字节在低地址

汇编指令

1.基本框架

	area reset, code, readonlycode32entry           //{end             //}

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

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

相关文章

Mac电脑遇到DNS解析失败,ip可以访问,域名无法访问

当Mac电脑遇到DNS解析失败的问题时,可以尝试以下几个解决方法‌: 1.检查网络连接‌:确保Mac已连接到可用的网络,并且网络连接正常。可以尝试重新连接Wi-Fi或使用有线连接来排除网络问题。 2.清除DNS缓存‌:打开终端应…

《通义千问AI落地—中》:前端实现

一、前言 本文源自微博客且已获授权,请尊重版权. 书接上文,上文中,我们介绍了通义千问AI落地的后端接口。那么,接下来我们将继续介绍前端如何调用接口以及最后的效果;首先看效果: 上述就是落地到本微博客以后的页面效果…

Java常用的网络IO模型与限流算法总结

什么是IO(Input/Output)? IO(输入/输出)指的是计算机系统中数据的输入和输出操作。它涉及从外部设备(如硬盘、网络、键盘、鼠标)读取数据(输入)和将数据发送到这些设备(输出)。IO操…

WPF如何获取DataGrid的选中行

在DataGrid中加入这一行 <MouseBindingCommand"{Binding OpenWindowCommand}"CommandParameter"{Binding ElementNameNewPlanDataGrid, PathSelectedItem}"Gesture"LeftDoubleClick" /> </DataGrid.InputBindings> 然后ViewModel中…

[每周一更]-(第111期):从零开始:如何在 CentOS 上源码编译安装 PHP 7.4

文章目录 系统信息&#xff1a;0、安装版本&#xff1a;1、下载/解压2、安装依赖3、配置autoconf4、配置参数5、编译和安装6、验证安装的插件6.1、配置php.ini6.2、配置opcache 7、错误7.1 Failed to connect to 2a03:2880:f10e:83:face:b00c:0:25de: Network is unreachable7.…

2024年最新Flink教程,从基础到就业,大家一起学习--Flink运行架构底层源码详解+实战

本文涉及到大量的底层原理知识&#xff0c;包括运行机制图解都非常详细&#xff0c;还有一些实战案例&#xff0c;所以导致本篇文章会比较长&#xff0c;内容比较多&#xff0c;由于内容太多&#xff0c;很多目录可能展示不出来&#xff0c;需要去细心的查看&#xff0c;非常适…

VS项目写完执行exe隐藏调试用的黑窗口(控制台)

在vs创建完项目&#xff0c;我们只希望运行显示界面&#xff0c;不显示控制台&#xff0c;控制台就是这样的黑色窗口&#xff0c;他可以在我们调试的时候打印一些东西来判断辅助编程。 1、首先修改为窗口模式 2、在你的main文件里最上面加入一行代码&#xff1a; #pragma comme…

【hot100篇-python刷题记录】【滑动窗口最大值】

R6-子串篇 目录 Max Sort 单调队列法&#xff1a; Max 完了&#xff0c;我好像想到python的max class Solution:def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]:ret[]left,right0,kwhile right<len(nums):ret.append(max(nums[left:right]))ri…

信刻光盘摆渡系统安全合规实现跨网数据单向导入/导出

在当今信息化、数字化时代&#xff0c;各种数据传输和储存技术发展迅速&#xff0c;各安全领域行业对跨网数据交互需求日益迫切&#xff0c;数据传输的安全可靠性对于整个过程的重要性不可忽视。应如何解决网络安全与效率之间的矛盾&#xff0c;如何安全合规地实现跨网数据单向…

分支电路导体的尺寸确定和保护

本文旨在确定为分支电路负载供电的导体的尺寸和保护。 支路额定电流 NEC 第 210 条规定了分支电路导体尺寸和过流保护的一般要求。 允许额定电流或过流保护装置的设置确定了分支电路额定值 (210.18)。电路的安培额定值取决于保护导体的断路器或保险丝的额定值&#xff0c;而…

江协科技STM32学习- P5 GPIO输出

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

车载T-Box通信稳定性弱网测试方案

作者介绍 T-Box&#xff08;Telematics Box&#xff0c;车载终端&#xff09;是一种安装在汽车上的控制器&#xff0c;用于实现车辆的远程监控、数据采集、通信和控制等功能。T-Box是连接汽车与外部世界的关键节点之一&#xff0c;在汽车网联中扮演着重要的角色。通过T-Box&…

二分图总结

二分图总结 前言二分图总结二分图基本概念什么是二分图&#xff1f;二分图图的性质染色法判断是否有奇环 二分图匹配算法匹配概念匈牙利算法二分图最小点覆盖2&#xff0c;3号边1&#xff0c;4号边小结 二分图最小边覆盖二分图最小路径覆盖二分图最大独立集 前言 这篇文章是作者…

conda加速下载

目录 一、镜像源设置 1、查看当前的下载源&#xff08;初始&#xff09; 2、修改国内源 二、附录 1、还原默认源 2、移除指定源 3、EBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443的解决方法 4、可以指定网址安装 一、镜像源设…

答题小程序的轮播图管理与接入获取展示实现

实现了答题小程序的轮播图管理&#xff0c;包括上传图片、设置轮播图、操作上下线等功能&#xff0c;可用于管理各类答题小程序的轮播图。 轮播图前端接入代码 答题小程序内使用以下代码接入轮播图&#xff1a; WXML&#xff1a; <view style"width: 100%"> …

最少钱学习并构建大模型ollama-llama3 8B

学习大模型时可能面临一些困难&#xff0c;这些困难可能包括&#xff1a; 计算资源限制&#xff1a;训练大模型通常需要大量的计算资源&#xff0c;包括CPU、GPU等。如果设备资源有限&#xff0c;可能会导致训练时间长、效率低下或无法完成训练。 内存限制&#xff1a;大模型通…

AI绘画SD必学技能—从零开始训练你的专属Lora 模型!StableDiffusion模型训练保姆级教程建议收藏!

大家好&#xff0c;我是画画的小强 接触AI绘画的小伙伴&#xff0c;一定听过Lora。 Lora模型全称是&#xff1a;Low-Rank Adaptation of Large Language Models&#xff0c;可以理解为Stable-Diffusion中的一个插件&#xff0c;在生成图片时&#xff0c;Lora模型会与大模型结…

数学建模比赛(国赛)水奖攻略

之前很多同学私聊问我&#xff0c;学校要求参加数模比赛&#xff0c;但是不擅长建模编程&#xff0c;但又不想浪费这个时间该怎么办呢&#xff0c;今天就来给大家讲一下大家都非常感兴趣的内容——数学建模水奖攻略。分享一下博主直接参加比赛时候的经验。 一、选题技巧 有一句…

【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数

链式调用 用一个函数的返回值&#xff0c;作为另一个函数的参数 def isOdd(num): if num % 2 0: return False return True def add(x, y): return x y print(isOdd(add(3,4)))""" 运行结果"""这里就是先算出 add 的值&#xff0c;然后…

使用ftl文件导出时,多层嵌套循环

核心点 //针对集合1进行循环 <#list priceDetail as pd>//对集合1中包含的集合2进行存在和判空 判断<#if pd.detail ?exists && pd.detail ?size!0> //对集合2进行循环<#list pd.detail as d>...</#list></#if></#list> 模版…