ARM day1

一、概念

ARM可以工作的七种模式用户、系统、快中断、中断、管理、终止、未定义
ARM核的寄存器个数

37个32位长的寄存器,当前处理器的模式决定着哪组寄存器可操作,且任何模式都可以存取:

PC(program counter程序计数器)+

CPSR(current program status register当前程序状态寄存器)+

5*SPSR(saved program status register保存之前的程序状态寄存器)+

30通用寄存器

PC和LR寄存器的别名R15(程序计数器:记录当前程序运行的位置)、R14(link register程序连接寄存器)
R13的别名SP(栈顶指针寄存器,用于保存堆栈指针)
哪种模式下使用的寄存器最少user(R0~R15+CPSR,没有SPSR保存之前程序状态寄存器)
Thumb指令集中,哪些寄存器处于Low group?R0-R7        R8-R15+CPSR+SPSR处于high?
CPSR的哪两位反映了处理器的状态?

    T 和 J 位 
    T = 0, j = 0,  处于 ARM 状态 (一条指令 4 字节  32 位)
    T = 1, j = 0,  处于 thumb 状态 (一条指令 2 字节  16 位)
    T = 1, j = 1,  处于 thumbEE 状态 

所有的Thumb指令采取什么对齐方式?halfword半字对齐
ARM有哪几个异常源7种:复位异常reset、未定义指令异常undefined instruction、软中断异常swi、预取指异常prefetch abort、数据异常data abort、IRQ异常irq、FIQ异常fiq
ARM有哪几种异常模式SVC、未定义、Abort、IRQ、FIQ
复位后,ARM处理器处于何种模式何种状态?SVC模式、ARM状态

二、概念

PC寄存器程序计数器,比如调用函数结束后从原来的位置继续执行程序
SP堆栈指针?stack pointer
寄存器的定义
ARM是什么ARM(Advanced RISC Machines)是一家英国公司,专门从事低功耗高性能的嵌入式处理器设计。它开发了多个处理器架构,以供各种计算设备使用。
ARM处理器架构ARM处理器架构是一个针对低功耗和高性能优化的精简指令集(RISC)架构。它分为三个主要系列:Cortex(针对嵌入式和移动设备)、ARM(针对性能优化)和ARM Cortex(结合了Cortex和ARM的优势)。
ARM Cortex系列ARM Cortex系列是针对高性能嵌入式应用设计的处理器系列。其中最受欢迎的是Cortex-A系列和Cortex-M系列。
    Cortex-A系列:针对高性能应用设计,适用于智能手机、平板电脑、服务器等。
    Cortex-M系列:针对低功耗和嵌入式应用设计,适用于物联网、智能家居、智能硬件等。
ARM开发板为了方便开发人员测试和验证ARM处理器,ARM开发板已成为嵌入式开发的标准工具。常见的ARM开发板包括Beckhoff的TwinCAT、NXP的i.MXRT、ST的STM32等
ARM编程语言ARM处理器支持多种编程语言,如C/C++、汇编语言、Python等。其中,C/C++是最常用的编程语言,因为它们能够提供高效的代码执行和内存管理。
ARM开发工具链ARM开发工具链包括编译器、调试器、仿真器等。其中,Keil uVision和GCC是最常用的编译器,ST-Link和J-Link是最常用的调试器,QEMU和JTAG是最常用的仿真器。
ARM应用领域ARM处理器被广泛应用于各种领域,如嵌入式系统、物联网、智能家居、智能硬件、机器人等。同时,ARM架构也被广泛应用于服务器和高性能计算领域。

三、CPSR

四、七种常用工作模式

 

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

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

相关文章

MySQL-多表联合查询

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

领域驱动设计应用之WebAPI

领域驱动设计应用之WebAPI 此篇文章主要讲述领域驱动设计在WebApi中的应用,以及设计方式,这种设计的原理以及有点。 文章目录 领域驱动设计应用之WebAPI前言一、相对于传统设计模式的有点二、WebAPI对接中的使用案例业务拆分父类设计HttpResponse(返回)…

逻辑回归(解决分类问题)

定义:逻辑回归是一种用于解决分类问题的统计学习方法。它通过对数据进行建模,预测一个事件发生的概率。逻辑回归通常用于二元分类问题,即将数据分为两个类别。它基于线性回归模型,但使用了逻辑函数(也称为S形函数&…

BDD(Behavior-Driven Development)行为驱动开发介绍

为什么需要BDD? “开发软件系统最困难的部分就是准确说明开发什么” (“The hardest single part of building a software system is deciding precisely what to build” — No Silver Bullet, Fred Brooks) 。 看一下下面的开发场景: 场景一&#xf…

新书速览|数据科学技术:文本分析和知识图谱

图解数据科学,文本分析、知识图谱详解,实战案例呈现,助你深入理解技术原理,行业应用启发,助力创新发展。 本书内容 数据科学的关键技术包括数据存储计算、数据治理、结构化数据分析、语音分析、视觉分析、文本分析和知…

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测效果一览基…

Go后端开发 -- 面向对象特征:结构体 继承 多态 interface

Go后端开发 – 面向对象特征:结构体 && 继承 && 多态 && interface 文章目录 Go后端开发 -- 面向对象特征:结构体 && 继承 && 多态 && interface一、Go的结构体1.结构体的声明和定义2.结构体传参 二、将…

【Docker】Dockerfile构建最小镜像

🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 前言 一.Dockerfile是什么 二.Dock…

C盘满了,我用什么思路清理?

20240115 上周六同事传了一个很大的虚拟机给我,C盘就红了 虽然是飞秋选错了存储文件的路径,但后来忘了,就开始毫无目的删除文件,过程中会有没有权限删除的,这样还是没有改善。 咨询了公司IT技术人员, 告…

【开源】基于JAVA语言的网上药店系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药品档案模块2.4 药品订单模块2.5 药品收藏模块2.6 药品资讯模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 药品表3.2.3 药品订单表3.2.4 药品收藏表3.2.5 药品留言表…

布隆过滤器四种实现(Java,Guava,hutool,Redisson)

1.背景 为预防大量黑客故意发起非法的时间查询请求,造成缓存击穿,建议采用布隆过滤器的方法解决。布隆过滤器通过一个很长的二进制向量和一系列随机映射函数(哈希函数)来记录与识别某个数据是否在一个集合中。如果数据不在集合中…

DataXCloud部署与配置[智数通]

静态IP设置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.130 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…