当前位置:首页 > 单片机 > 单片机
[导读]ARM的约定byte 8bitshalfword 16bitsword 32bitsARM Core 提供的指令集ARM指令集 32bitsThumb 指令集 16bitsThumb2 指令集 16&32bitsARM CPU的七种工作模式符号解释User用户模式,大部分任务执行在这种模式FIQ快速中

ARM的约定

byte 8bits
halfword 16bits
word 32bits

ARM Core 提供的指令集

ARM指令集 32bits
Thumb 指令集 16bits
Thumb2 指令集 16&32bits

ARM CPU的七种工作模式符号解释User用户模式,大部分任务执行在这种模式FIQ快速中断模式,当一个更高优先级中断产生时,会进入这种模式IRQ中断模式,当一个低优先级终端产生时,会进入这种模式Supervisor复位或软中断指令执行时会进入这种模式Abort存取异常,当存取异常时会进入这种模式Undef未定义指令,当执行未定义指令时会进入这种模式System系统模式,使用和User模式相同的寄存器集的特权模式

除User模式是normal(普通模式)外,其他6种都是Privilege(特权模式),特权模式中,除Sys模式外,其余5种都是异常模式。
各种模式之间的切换,可以是程序员通过代码手动切换(写CPSR寄存器),也可以是CPU在某些情况下自动切换。
各种模式下可以访问的CPU寄存器不同

ARM CPU的37个寄存器


CPU在不同的模式下可以反问的CPU寄存器不同,上图中黑色部分是user模式可以访问的寄存器,FIQ中的黑色部分表示和User模式下的一样,及FIQ模式下访问的r0和User模式下的r0是同一个寄存器,而灰色的r8是FIQ模式特有的自己的寄存器。同理,IRQ下的r13,r14同样也是自己模式下的私有寄存器,只有在自己的模式下才能访问。

ARM共有37个寄存器,都是32位长度。
37个寄存器中30个为通用型,1个固定用作PC,一个固定用做CPSR,五个固定用做5种异常模式下的SPSR。

CPSR寄存器用以表明CPU的某些状态信息。各位意义如下图

SPSR寄存器用于,保存进入异常模式时保存CPSR中的数据,当从异常模式返回用户模式时,用以恢复CPSR中的数据。
r15寄存器也叫pc (program control)寄存器,是程序指针,pc指向哪里,CPU就会执行pc指向地址的指令。

ARM异常处理

所有正常工作之外的流程叫做异常。中断也是异常的一种。
当异常发生时,CPU会自动跳转到固定的地址运行,这个固定的地址就是终端向量表,中断向量表中存储所有异常的应跳转到的程序地址。异常向量表是硬件向软件提供的处理异常的支持。

ARM异常处理流程:当异常产生式,首先拷贝CPSR到 SPSR_,
然后设置适当的CPSR位,改变处理器工作模式,进入ARM态,进行异常处理,保存返回地址LR_设置PC为相应的异常向量。
当异常返回时,从SPSR_恢复CPSR,从LR_恢复PC
这些操作只能在ARM态进行。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

控制寄存器(Control Register)是中央处理器(CPU)中用于管理系统级操作的特殊寄存器,它为操作系统和硬件提供对处理器行为的精细控制。本文从计算机体系结构角度系统阐述控制寄存器的设计原理、功能分类、操作机制...

关键字: 寄存器 处理器

在嵌入式系统开发中,硬件抽象层(Hardware Abstraction Layer,HAL)起着至关重要的作用。它为上层软件提供了统一的硬件访问接口,隐藏了底层硬件的细节,使得软件具有更好的可移植性和可维护性。C++作...

关键字: 嵌入式C++ HAL 寄存器 封装

采用51单片机最小开发板,由8位自制独立按键控制。单片机芯片为STC89C52RC,晶振为@12.000 mhz。8X8LED点阵屏模块由MAX7219驱动,MAX7219包含一个自动扫描电路。你只需要把要显示的数据发送...

关键字: 51单片机 MAX7219 寄存器

电源管理集成电路(PMIC)有益于简化最终应用并缩小其尺寸,也因此备受青睐。然而,当默认启动时序和输出电压与应用要求不符时,就需要定制上电设置。大多数情况下,电路没有可以存储这些设置的非易失性存储器(NVM)。对此,低功...

关键字: 电源管理 集成电路 寄存器

我从Digilent公司拿出了我的Arty Z7板,并在Vivado/Vitis 2021.2中创建了一个项目来让它工作,你可以在我的上一个项目帖子中阅读,我在QDSP-6061的5位数上显示滚动文本,上面写着“Hell...

关键字: 寄存器 AXI4 QDSP-6061 RTL模块

在单片机系统的设计中,复位电路是确保单片机正常工作的关键组成部分。它能够在系统启动时将单片机的内部寄存器和状态设置为初始值,保证单片机从一个确定的状态开始运行。与门芯片作为一种常见的数字逻辑芯片,有时会被应用于单片机复位...

关键字: 复位电路 寄存器 单片机

在数字电路设计中,计数器是一种基础的数字电路组件,用于记录并显示脉冲信号的数量或频率。4进制计数器,即模4计数器,是一种特殊的计数器,其计数范围从0到3,共4个状态。本文将深入探讨如何结合D触发器与寄存器来实现一个4进制...

关键字: D触发器 寄存器 计数器

寄存器是CPU内部存储单元,即寄存器是CPU的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址等。

关键字: 寄存器 CPU

随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈...

关键字: 单片机 寄存器

今天,小编将在这篇文章中为大家带来基于移位寄存器TDM的实现方式的有关报道。

关键字: 寄存器 移位寄存器
关闭