Cortex-M3中的特殊功能寄存器包括: 程序状态寄存器组(PSRs/xPSR) 中断屏蔽寄存器组(PRIMASK、FAULTMASK以及BASEPRI) 控制寄存器(CONTROL) 它们只能被专用的MSR/MRS指令访问,而且它们也没有与之相关联的访问地址。如: MRS <gp_reg>, <special_reg> ; 读特殊功能寄存器的值到通用寄存器 MSR <special_reg>, <gp_reg...
M3处理器拥有R0-R15的寄存器组和五个特殊寄存器,R0-R12是通用寄存器;R13作为堆栈指针,堆栈指针有两个,一个是主堆栈指针(MSP),另一个是进程堆栈指针(PSP),在任何一个时刻只能访问其中的一个;R14是连接寄存器(LR),当调用子函数时用来保存返回地址,中断处理时保存中断返回值;R15是程序计数器,指向当前的程序地址;还...
R15(程序寄存器)指向当前程序执行的地址; 2)特殊功能寄存器组 xPSR(程序状态字寄存器组),32位,可分为三个寄存器分别进行访问,也可以PSR或xPSR的名字直接组合访问。 应用程序PSR(APSR) 中断号PSR(IPSR) 执行PSR (EPSR) 中断屏蔽寄存器 PRIMASK 单一比特位,置位后,除NMI与硬fault外,其他中断都不响应; FAULTMASK ...
xPSR 是 Program Status Register 程序状态寄存器的意思,前面有个 x 代表他是由 3 个小的寄存器构成: APSR:应用程序状态寄存器; IPSR:中断程序状态寄存器; EPSR:执行程序状态寄存器; 它们3 个一起叫做程序状态寄存器,xPSR 的组成是 32 位的寄存器,在这 32 位中,APSR、IPSR、EPSR 各占一部分: 蓝色部分是 APSR...
r14(LR):链接寄存器,保存子程序或异常的返回地址(要实现嵌套,必须入栈)。 r15(PC):程序计数器。 xPSR:特殊用途的程序状态寄存器。 异常 进入异常步骤: 1.处理器在当前堆栈上把xPSR、PC、LR、r12、r3~r0八个寄存器自动依次入栈。 2.读取向量表(如果是复位中断,更新SP值)。
链接寄存器 寄存器 r14 是子程序的链接寄存器(LR)。 在执行分支(branch)和链接(BL)指令或带有交换的分支和链接指令(BLX 时,LR 用于接收来自 PC 的返回地址。 LR 也用于异常返回。 其它任何时候都可以将 r14 看作一个通用寄存器。 程序计数器 寄存器 r15 为程序计数器(PC) ...
1.1.5 r15(程序计数器PC) 可读可写,读操作返回当前指令地址加4(流水线特性),写PC会引起跳转操作。 1.2 特殊寄存器 1.2.1 概述 除了寄存器组中的寄存器外,还有多个特殊寄存器,这些寄存器表示处理器状态,操作状态,中断异常屏蔽。如图: 特殊寄存器未经过存储器映射,可以使用MSR和MRS等特殊寄存器访问指令来进行访问,例如...
Cortex-M3处理器具有R0至R15寄存器。R0至R12是通用寄存器。R13是可配置区域的寄存器,可以在两种堆栈指针之间切换。R14是链接寄存器,R15是程序计数器。此外,还有控制Cortex-M3处理器特殊功能的特殊寄存器。寄存器分配如图2所示。 图2 寄存器分配示意图 图片上蓝色部分寄存器均为通用寄存器,用于输入算术单元(ALU)的数据,输出...
R15是PC,记录程序当前的执行地址。 特殊功能寄存器包括: 程序状态字寄存器组(PSRs) 中断屏蔽寄存器组(PRIMASK, FAULTMASK, BASEPRI) 控制寄存器(CONTROL) 运行模式和特权级别 两种运行模式:handler mode和thread mode。 两种特权级别:特权级和用户级 中断例程工作在特权级,普通程序代码既可以工作在特权级也可以在用户级...