ARM相关重点

news2024/9/22 23:21:58

一、概念:

指令:就是一条汇编指令

指令集:很多条汇编指令的集合

架构:随着ARM产品的迭代升级,对ARM指令集的命名

        armv1~armv6已经淘汰

        armv7~armv8市面正在使用的

        armv9:2021年刚上市

内核:根据不同的arm版本号,设计出不同的内核

soc:片上系统

        arm公司不生产芯片,只生产内核,将内核卖给对应的厂商,厂商添加字节需要的一些外设,最终形成soc

二、交叉编译工具链

Ubuntu是x86架构的,板子是arm架构的,交叉编译工具链是将x86架构的程序生成支持arm架构的程序。

三、RISC和CISC的区别

        RISC是精简指令集,开发板的ARM架构使用的是精简指令集;

        精简指令集的指令周期和指令宽度是固定的,指令周期是一条汇编指令执行所需的时间,指令宽度是一条汇编指令所占的空间。

        CISC是复杂指令集,是x86架构下的汇编指令集

        复杂指令集的指令周期和指令宽度是不固定的,复杂指令集更注重指令功能性。

四、ARM处理器的工作模式

        arm处理器有7种工作模式,对于A7核又分为特权模式和非特权模式;

        非特权模式包含user用户模式,执行大多数用户代码。特权模式又分为异常模式和非异常模式。

        异常模式包括IRQ模式,FIQ模式、undef模式、SVC模式、abort模式,非异常模式为system系统模式,该模式与user模式共用一套寄存器。

五、ARM寄存器组织

        寄存器处于SOC的内部cortex-a7核内部,运行速度很快但个数有限。

        寄存器介绍:

                寄存器属于处理器内部寄存器,没有地址。通过编号进行访问

                作用一般存放暂时需要运算的数据。        

六、特殊功能寄存器

        1.SP----->栈指针寄存器

                作用:指向栈空间地址,压栈和出栈时需要移动栈指针。

        2.LR----->链接寄存器

                作用:保存函数的返回地址,在恢复现场的时候将其赋值给PC寄存器  

        3.PC----->程序计数器

                作用:pc中存放的是当前取指指令的地址,也就是当前执行指令的地址。

        4.CPSR寄存器

                作用:保存当前程序状态。

        5.SPSR寄存器

                作用:对CPSR寄存器进行备份

七、汇编指令

        1.数据操作指令

                mov、mvn

        2.移位操作指令

                lsl、lsr、asr、ror

        3.位运算指令

                and、orr、eor、blc

        4.算术运算指令

                add、adc、sub、sbc、mul

        5.比较指令

                cmp     

        6.跳转指令

                b、bl

        7.内存操作指令

                ldr、str

        8.多寄存器操作指令

                ldm、stm

        9.栈指针操作指令,

                ARM默认采用满减栈:stmfd、ldmfd

        

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

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

相关文章

SpringCloud分布式请求链路跟踪——Sleuth

Sleuth 本专栏学习内容来自尚硅谷周阳老师的视频 有兴趣的小伙伴可以点击视频地址观看 随着微服务越来越多,可能会出现A调B,B调C、D等多重调用的情况,出现问题不易排查。 Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案&#xff0c…

软件测试高频面试题【附答案解析】

面试指导 软件测试理论刷题篇mysql数据库刷题库linux操作系统刷题篇软件测试工程师面试篇 一. 软件测试理论刷题篇 1.软件测试的意义是什么? 思路:什么是软件测试→软件测试的含义 什么是软件测试:在规定的条件下对程序进行操作&#xf…

【错误:A component required a bean of type ‘xxx‘ that could not be found.解决办法】

在学谷粒商城项目的时候出现了以下问题: *************************** APPLICATION FAILED TO START *************************** Description: A component required a bean of type org.redisson.Redisson that could not be found. Action: Consider defining a…

优思学院|西门子精益六西格玛的历程

最新阅读了一份案例报告,报告中仔细研究了西门子公司实施精益六西格玛的历程,也谈到它们利用了线上课程后,取得了更大的成功。 2014年,西门子工业自动化部门(IA)的高管们认识到他们必须采取措施来加强内部效…

English Learning - L2 第 16 次小组纠音 弱读和语调 2023.4.22 周六

English Learning - L2 第 16 次小组纠音 弱读和语调 2023.4.22 周六 共性问题help /help/ 中的 e 和 lsorry /ˈsɒri/ 中的 ɒ 和 ilook out /lʊk aʊt/ 中的 ɒ 和 aʊdont /dəʊnt/ 中的 əʊemergency /ɪˈmɜːʤənsɪ/ 中的 ɜːname /neɪm/ 中的 eɪright /raɪt/…

甘肃vr全景数字化展厅提高企业品牌认知度和销售效果

相比传统式展厅给观众们呈现的是静态的视觉体会,缺乏实时交互水平。而720VR全景虚拟展厅能够提供高度真实的展览体验,融合视、听、触等各种感官享受,带来颠覆的沉浸式体验。 即便社恐的你也能在虚拟现实的世界游刃有余,想看哪里点…

flutter protobuf插件的安装和使用

1.安装插件 2.在pubspec.yaml添加插件 protobuf: ^2.1.0protoc_plugin: ^20.0.13.安装protoc brew install protobuf检查是否安装成功 protoc --version4.安装dart brew tap dart-lang/dart brew install dartdart 安装好后,就有pub命令了。输入dart 命令行 和d…

【Linux】Linux背景常见的基本指令

文章目录 一、Linux背景二、Linux下基本指令ls 指令pwd 命令cd 指令tree 指令touch 指令mkdir 指令rmdir 指令rm 指令man 指令cp 指令mv 指令cat 指令more 指令less 指令head 指令tail 指令date 指令cal 指令find 指令grep 指令zip 指令unzip 指令tar 指令bc 指令uname 指令重要…

uniapp初始环境搭建,出于猎奇,也出于热爱编程

1 安卓环境 官方文档有些看不懂,这里还是自己写一下,毕竟我已经不想在回来带angular了,还是使用vue3吧,年纪打了,没用的知识学多了也是浪费时间。出于猎奇,也出于热爱编程。 1.1 生成签名证书 Android平台签…

linux系统启动过程与0号和1号进程

讲到linux 0号进程和1号进程就涉及到linux 系统的启动,我们就从linux启动过程开始。 1、linux 启动整体过程 当系统第一次启动或重启的时候,处理器将执行一个已知地方的代码。对应个人电脑,这个地方是存在主板上内存内的BIOS 当一个启动设备…

元宇宙的应用领域

应用领域一:游戏 1.游戏是最先成长起来的元宇宙场景。虚拟社交身份、开放性、经济系统、沉浸感、世界可持续性是元宇宙游戏需关注的五大特征。 2.元宇宙游戏依然是游戏,现阶段参与元宇宙游戏的主要是游戏爱好者。新的概念依旧需要好的游戏产品支撑。团…

一步搞定IP地址查询:这个在线工具帮你快速掌握设备的位置信息!

前言 今天分享一个免费的在线工具来查询IP地址所在的地理位置。可以通过IP地址所属的网络运营商和其他相关信息来确定设备的位置,包括国家、地区、城市和经纬度等信息。 Ip-API 官网地址: https://ip-api.com/ 使用示例 该工具除了提供界面查询,还贴心…

实验4 RHEL安装和管理软件

老师给的步骤: 从光盘安装软件:1.在虚拟机指定光盘镜像文件2.右下角图标,连接光驱3.挂在光驱 4.检查yum配置文件有没有? baseurl是否一致。 配置在/etc/yum.repos.d目录中5.yum install httpd -y6.启动httpd, systemct…

Nodejs快速搭建简单的HTTP服务器,并发布公网远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 转载自内网穿透工具的文章:使用Nodejs搭建HTTP服务,并实现公网远程访问「内网穿透」 前言 Node.js…

链表篇总结

移除链表元素: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 思路: 这里以链表 1 4 2 4 来举例,移除元素4。 那么因为单链表的特殊性,只…

远程桌面连接不上是什么原因?怎么解决

如何解决远程桌面连接不上的问题? 远程桌面是一种非常方便的远程访问工具,允许用户在不同的地方通过网络访问其他计算机的桌面界面。但有时你可能会遇到远程桌面无法连接的问题。此时,您需要采取一些措施来解决这个问题。在本文中&#xff0…

走进小程序【十一】微信小程序【使用Echarts 和 腾讯地图】

文章目录 🌟前言🌟效果展示🌟使用Echarts🌟Echarts官网🌟体验示例小程序🌟下载🌟引入组件🌟创建图表🌟暂不支持的功能 🌟使用地图🌟map组件&#…

Visual Studio 2019/2017/2015官方安装教程

安装VisualStudio找不到官方版本?只能找到第三方?害怕中毒? 不要急,本文例举了VS 2019 2017 2015的官方位置,不用但心装成第三方Visual Studio 百度搜索 Visual Studio 2017,只有第三方的包,而…

Network 之八 详解 MAC 地址、MAC 协议、MAC 控制器

在网络通信中,MAC 一词应用非常广泛,可以指 MAC 协议,也可以指 MAC 控制器,还用来表示 MAC 地址,因此,今天就来系统学习一下网络通信中 MAC 相关的知识。 MAC 协议 MAC(Media Access Control&a…

宝安日报:联诚发跨界创新“追光”十九载!

世界一流声光电智造一体化服务商、国家级高新技术企业、国家级专精特新“小巨人”企业、博士后创新实践基地、深圳自主创新百强企业……这些熠熠生辉的关键词,是位于宝安区航城街道的深圳市联诚发科技股份有限公司(以下简称:联诚发&#xff0…