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.mzph.cn/web/51088.shtml

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

相关文章

Python爬虫案例二:获取虎牙主播图片(动态网站)

爬虫流程:优先假设是JSON数据,抓包方式只能翻页JSON数据HTML数据1.异步数据(即先返回HTML,再返回目标的数据,只是触发了JSON请求),不在HTML中2.不能刷新网页,直接翻页 测试链接&…

基于Vue.js+Express的夕阳红养老院管理系统的设计与实现--附源码98650

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2 相关技术介绍 2.1 Express框架介绍 2.2 Vue.js 2.3 MySQL数据库 2.4 Node.js主要功能 3系统分析 3.1 可行性分析 3.2 系统流程分析 3.2.1 数据新增流程 3.2.2 数据修改流程 3.2.3数据删除…

【Android】Glide模块工作原理

Glide模块工作原理 每个Glide模块包含一个Decoder,和一个Transcoder Decoder负责将DataSource转换为对应的Resource Transcoder负责将对应的Resource,转换为Drawable GlideModule示例 这里以SVG为例,展示下GlideModule是如何定义的 cla…

Java中等题-完全平方数(力扣)

给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 示…

AWS SAM CLI 备忘单!

安装 AWS SAM CLI brew tap aws/tap brew 安装 aws-sam-cli 验证安装 $ sam --version 升级 SAM $ brew upgrade aws-sam-cli 您需要 AWS 凭证才能在 AWS 上工作。 构建并部署简单应用程序 $ sam init→ 下载示例应用程序 $ sam build→ 构建您的应用程序 $ sam deploy --guid…

记录自己的嵌入式学习之路

一、STM32软件编程 【STM32】C语言基础补充-CSDN博客 【STM32】写Keil程序的注意事项-CSDN博客 【STM32】一些外设通用内容-CSDN博客 二、嵌入式硬件设计 未完待续

go设计模式———适配器模式

适配器模式是一种设计模式,用来解决接口不兼容的问题。它的作用是让原本因为接口不兼容而无法一起工作的类能够协同工作。通俗地说,它就像是一种“转换器”,能够把一种接口转化为另一种接口,从而让不同的系统或组件可以一起使用。…

联合体成员的访问——真题讲解

【题目】 阅读下述代码,请问修改data的value成员以存储3.14,正确的方式是() union Data { int num; float value; char symbol; }; union Data data; A. data.value 3.14; B. value.data 3.14; C. data->value 3.14; D. value->data 3.1…

Java学习_18_Stream流

文章目录 前言一、不可变集合二、Stream流思想第一步:得到Stream流第二步:Stream流的中间方法Stream流的终结方法 总结 前言 博客仅记录个人学习进度和一些查缺补漏。 学习内容:BV17F411T7Ao 一、不可变集合 不可变集合就是长度和内容都不可…

希尔排序,详细解析(附图解)

1.希尔排序思路 希尔排序是一种基于插入排序的算法,通过将原始数据分成若干个子序列,然后对子序列进行插入排序,逐渐减小子序列的间隔,最后对整个序列进行一次插入排序。 1.分组直接插入排序,目标接近有序--------…

transformers调用llama的方式

transformers调用llama的使用方式 不同版本llama对应的transformers库版本llama2llama3Meta-Llama-3-8B-InstructMeta-Llama-3-8B llama3.1Meta-Llama-3.1-8B-Instruct 不同版本llama对应的transformers库版本 # llama2 pip install torch1.13.1cu116 torchvision0.14.1cu116 …

C语言贪吃蛇之BUG满天飞

C语言贪吃蛇之BUG满天飞 今天无意间翻到了大一用C语言写的贪吃蛇&#xff0c;竟然还标注着BUG满天飞&#xff0c;留存一下做个纪念&#xff0c;可能以后就找不到了 /* 此程序 --> 贪吃蛇3.0 Sur_流沐 当前版本&#xff1a; Bug满天飞 */ #include<stdio.h> #includ…

【补充篇】AUTOSAR多核OS介绍(下)

文章目录 前文回顾1 AUTOSAR OS1.1 AUTSOAR OS元素1.1.1 操作系统对象1.1.2 操作系统应用程序1.1.3 AUTOSAR OS裁剪类型1.1.4 AUTOSAR OS软件分区1.2 AUTOSAR OS自旋锁1.3 AUTOSAR OS核间通信1.4 AUTOSAR OS多核调度前文回顾 在上篇文章【补充篇】AUTOSAR多核OS介绍(上)中,…

docker常见指令——镜像指令and容器指令

docker镜像指令 查看镜像 docker images 搜索镜像 docker search 镜像名 上传镜像 docker pull 镜像名 或 docker pull 镜像名&#xff1a;tag 注:不加:tag表示最新版本 &#xff0c;加:tag表示指定版本 运行镜像 docker run 镜像名 保存镜像 docker save 镜像名/镜像id -o 要…

OpenMax算法详解:深度学习中的高效开集识别技术

OpenMax算法详解&#xff1a;深度学习中的高效开集识别技术 在深度学习领域&#xff0c;模型的识别能力往往受限于其训练数据集的范畴。传统的分类模型&#xff0c;如卷积神经网络&#xff08;CNN&#xff09;或循环神经网络&#xff08;RNN&#xff09;&#xff0c;通常被设计…

算法5:位运算

文章目录 小试牛刀进入正题 没写代码的题&#xff0c;其链接点开都是有代码的。开始前请思考下图&#xff1a; 小试牛刀 位1的个数 class Solution { public:int hammingWeight(int n) {int res 0;while (n) {n & n - 1;res;}return res;} };比特位计数 class Solution…

关于我的生信笔记开通《知识星球》

关于知识星球 1. 为什么到现在才开通《知识星球》 从很早关注我的同学应该了解小杜的知识分享历程&#xff0c;小杜是从2021年11月底开始进入此“坑”&#xff0c;一直坚持到现在&#xff0c;马上3年了&#xff08;24年11月底到期&#xff09;。自己也从一个小青年&#xff0…

什么是网页爬虫技术

网页爬虫技术&#xff08;Web Crawler Technology&#xff09;是一种自动化浏览互联网并收集信息的程序或脚本。这些程序模拟人类用户的行为&#xff0c;通过HTTP请求访问网页&#xff0c;并解析网页内容&#xff08;通常是HTML文档&#xff09;&#xff0c;从中提取出所需的数…

hostapd生成beacon_ie

配置文件 /data/vendor/wifi/hostapd/hostapd_wlan0.conf 配置参数 AP启动过程&#xff1a;1.上层配置一些参数并根据参数生成配置文件 2.init的时候设置默认参数并加载配置文件上的参数&#xff08;如果重复&#xff0c;以配置文件上的设置优先&#xff09; 相关函数及结构…

查看U盘的具体信息,分区表格式、实际容量和分区状态

查看U盘的具体信息&#xff0c;分区表格式、实际容量和分区状态 前言&#xff1a; 利用windows自带的命令行窗口就可以 1、使用命令提示符查看MBR和GPT分区类型 &#xff08;1&#xff09;按“Windows R”键&#xff0c;在弹出的运行对话框中输入“diskpart”&#xff0c;并按…