1、通用目的寄存器R0~R7
R0-R7 也被称为低组寄存器。所有指令都能访问它们。它们的字长全是 32 位,复位后的初始值是不可预料的。
2、通用目的寄存器 R8-R12
R8-R12 也被称为高组寄存器。这是因为只有很少的 16 位 Thumb 指令能访问它们, 32 位的thumb-2 指令则不受限制。它们也是 32 位字长,且复位后的初始值是不可预料的。
3、特殊功能寄存器
程序状态寄存器:APSR, IPSR, EPSR ---- 通过MRS/MSR 指令,这3 个PSRs 即可以单独访问,也可以组合访问(2 个组合,3 个组合都可以)。当使用三合一的方式访问时,应使用名字“xPSR”或者“PSR”。
APSR:
N:负条件码标志位,运算结果小于0,N=1, 大于等于0,N=0;
Z:零条件码标志位,运算结果为0,Z=1;
C:进位条件码标志位,运算指令产生进位(无符号加法溢出),C=1;
V:溢出条件码标志位,运算溢出(有符号加法溢出), V=1;
Q:饱和条件码标志位;
IPSR:处于线程模式时,该位域为0;在手柄模式下,该位域为当前异常的异常号。
EPSR:
T:Thumb状态, T=1,ARM状态,T=0;
PRIMASK, FAULTMASK 和 BASEPRI:控制异常的使能和除能
控制寄存器CONTROL:其一用于定义特权级别,其二用于选择当前使用哪个堆栈指针。
4、堆栈指针R13
R13 是堆栈指针。在 CM3 处理器内核中共有两个堆栈指针,于是也就支持两个堆栈。当引用 R13(或写作 SP)时,引用到的是当前正在使用的那一个,另一个必须用特殊的指令来访问( MRS,MSR指令)。
主堆栈指针(MSP),或写作 SP_main。这是缺省的堆栈指针,它由 OS 内核、异常服务例程以及所有需要特权访问的应用程序代码来使用。
进程堆栈指针(PSP),或写作 SP_process。用于常规的应用程序代码(不处于异常服用例程中时)。
5、连接寄存器R14
R14 是连接寄存器( LR)。在一个汇编程序中,你可以把它写作 both LR 和 R14。 LR 用于在调用子程序时存储返回地址。例如,当你在使用 BL(分支并连接, Branch and Link)指令时,就自动填充 LR的值。
6、程序计数器R15
R15 是程序计数器,在汇编代码中一般我们都都叫它的外号“ PC”。因为 CM3 内部使用了指令流水线,读 PC 时返回的值是当前指令的地址+4。
关键字:Cortex-M3 寄存器组
引用地址:
Cortex-M3寄存器组
推荐阅读最新更新时间:2024-03-16 16:25
51单片机寄存器组的设置
大家都知道51单片机有的寄存器R0-R7共有四组。最近1年来,我在与新手朋友交流时发现,很多朋友对寄存器组的使用时经常出现问题。虽然这并不是多难的问题,但如果出现错误,也会造成很严重的后果。 首先介绍一下51的寄存器组: 通过设置PSW寄存器的第3位和第4位可以任意切换寄存器组。在进入中断前,切换寄存器组,可以方便的保护原寄存器组的数据不被中断里的语句破坏,很方便。 RS1 RS0 字节地址 0 0 0组寄存器 00H~07H 0 1 1组寄存器 08H~0FH 1 0 2组寄存器 10H~17H 1 1 3组寄存器 18H~1FH RS1=PSW.4 RS0=PSW.3 常见错误有三种: 1、
[单片机]
基于CMSIS标准的Cortex-M3的应用软件开发
引 言 ARM公司于2008年11月12日发布了ARM Cortex微控制器软件接口标准(CMSIS:Cortex Microcon-troller Software InteRFace Standard)。CMSIS是独立于供应商的Cortex-M处理器系列硬件抽象层,为芯片厂商和中间件供应商提供了连续的、简单的处理器软件接口,简化了软件复用,降低了Cortex-M3上操作系统的移植难度,并缩短了新入门的微控制器开发者的学习时间和新产品的上市时间。 根据近期的调查研究,软件开发已经被嵌入式行业公认为最主要的开发成本。图1为近年来软件开发与硬件开发成本对比图。因此,ARM与Atmel、IAR、Keil、hami-nar
[单片机]
μC/OS-II在Cortex-M3系列单片机上的移植介绍
引言 μC/OSII是一种简单高效、源代码公开的实时嵌入式操作系统,具有良好的扩展性和可移植性,被广泛应用到各种嵌入式处理器上;对于提高产品的质量,减少开发周期和降低成本有着重要的意义。本文以μC/OSII为移植对象,以ARM CortexM3内核微处理器为移植目标来讨论其移植过程及应用。 1 μC/OSII及ARM CortexM3简介 实时操作系统μC/OSII是一个基于优先级的抢占式实时内核,程序可读性强,移植性好,代码固定,可裁剪,非常灵活。至今,从8位到64位,μC/OSII已在超过40种不同架构的微处理器上运行。μC/OSII的主要特点有:是优先级可剥夺的实时多任务操作系统;可处理和调度56个用户任务,任务
[单片机]
ARM Cortex-M3 微处理器测试方法研究与实现
0 引言 随着半导体技术的发展,集成电路制程工艺从深亚微米发展到纳米级,晶体管集成度的大幅提高使得芯片复杂度增加,单个芯片的功能越来越强。二十世纪90 年代ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。采用ARM 技术知识产权( IP 核)的微处理器,即ARM 微处理器,已遍及工业控制。消费类电子产 品。通信系统。网络系统。无线系统等各类产品市场,基于ARM 技术的微处理器应用约占据了32 位RISC 微处理器七成以上的市场份额。ARM 芯片的广泛应用和发展也给测试带来了挑战,集成电路测试一般采用实际速度下的功能测试,但半导体技术的发展使得测试开发工程资源按几何规律增长,自动测试 设备(ATE)的性能赶不上日益增加的
[单片机]
站稳32位元MCU市场 64位元蓄势待发
微控制器(MCU)的架构,从早期的4或8位元,演进到近期逐渐流行的16、32位元架构,并应用在各式各样的中高阶电子产品领域。然在行动装置追求更纤细的画质与更高执行效能之下,业界纷纷推出更先进的制程与处理器架构来因应,尤在苹果iPhone 5s率先搭载64位元处理器抢占世人目光之后,更加速行动处理器市场迈向下世代64位元的趋势,期与桌上型计算机处理器架构分庭抗礼,为下世代先进架构的处理器市场布局… 8位元应用广泛 32位元已成主流 MCU(微控制器)的产品种类繁多,从汇流排架构来区分,可以分成早期4或8位元,中期16位元,以及如今最广泛的32位元架构。在8位元架构部分,就有多达20几家MCU厂商,提供各种微架构(例如
[嵌入式]
基于Cortex-M3的无线电表采集器的研制
1.引言
如今,随着信息化应用的发展,将无线通信技术、智能采集技术和自动控制技术综合应用于现代企业信息化管理,已成为一种趋势。
企业也迫切需要将各种有利于提高生产效率的信息因素收集汇总,用于分析与管理,而设备的消耗电能与运行时间正是十分重要的一种生产信息。本文所设计的电表采集器是生产采集系统的核心部件,通过电表上的通讯接口,实时地读取表中的数据,并通过无线网络将数据传送到服务器中。这使得企业能够及时准确地了解生产运行情况,在避免手工抄表中不及时和易出错情况的同时,也为合理利用资源及有效维护设备提供了丰富的数据支持。
2.采集系统的结构
近年来,电表的数字化程度越来越高,大多提供标准的通信总线结构,便于设计人员编程实
[电源管理]
ARM Cortex-M3 学习笔记(5)
最近在学ARM Cortex-M3,找了本号称很经典的书 An Definitive Guide to The ARM Cortex-M3 在看。这个系列学习笔记其实就是在学习这本书的过程中做的读书笔记。 第五章 存储器系统 地址空间分配 对比更早版本的ARM内核,Cortex-M3的地址空间分配相对来说是固定的。尤其是内部的私有外设,地址分配是固定不变的。这为软件移植提供很大的方便。 图 1 Cortex-M3 地址空间分配 片内SRAM地址空间和片内外设地址空间中各有1MB是所谓的位带区。这个区数据可以按位访问。外部SRAM和外部外设地址空间中没有位带区。 RAM地址空间与外设地址空间最大的区别
[单片机]
恩智浦半导体推出ARM Cortex-M3微控制器
恩智浦半导体近日推出 基于 ARM® Cortex™-M3 处理器 的业界最快速微控制器 LPC1700 系列。 LPC1700 系列微控制器在运行速度高达 100MHz 时,比目前市场上可供的其他 Cortex-M3 微控制器产品运行速度更快 28%-64% 。 LPC1700 系列的一流性能令其能够毫无瓶颈地同步操作高带宽通讯周边器件,例如 Ethernet 、 USB On-The-Go/Host/Device 以及 CAN 。 LPC1700 基于新的 Cortex-M3 R2 修订版内核, 增加高度集成的功率控制,包含一个独特的唤醒中断控制器( WIC : Wake-up Interrupt Con
[嵌入式]