这就需要表一表在响应之前,处理器必须要做的工作——现场保护即保护当前的程序运行环境,依次入栈以下8个寄存器:程序状态寄存器XPSR,程序计数器PC,返回地址寄存器LR(连接寄存器),R12,R0——R3,这些都是硬件自动完成的。如果当前正在使用堆栈,则压入相应的堆栈寄存器MSP/PSP值,当前在用PSP就压入PSP,反之则压入MSP,...
迟来:前一个中断还没有进入执行阶段(但处理器状态已经保存),后面来了一个高优先级中,则前一个中断被抢占,后来的高优先级中断不需要再保存寄存器状态。 中断 Cortex-M3中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。 ...
Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线,从而提升了性能。为实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应...
Cortex-M3和M4处理器的寄存器组中有16个寄存器,其中13个为32位通用寄存器,其余3个有特殊用途,如图所示 1.1.2 寄存器r0~r12: 通用目的寄存器,前八个(r0~r7)也被称为低寄存器(供16位指令访问),高寄存器(r8~r12)为高寄存器,可用于32位指令访问,r0~r12的初始值未定义 1.1.3 r13(栈指针): 分为两个指针,主...
Cortex-M3处理器具有R0至R15寄存器。R0至R12是通用寄存器。R13是可配置区域的寄存器,可以在两种堆栈指针之间切换。R14是链接寄存器,R15是程序计数器。此外,还有控制Cortex-M3处理器特殊功能的特殊寄存器。寄存器分配如图2所示。 图2 寄存器分配示意图 图片上蓝色部分寄存器均为通用寄存器,用于输入算术单元(ALU)的数据,输出...
Cortex–M3处理器的寄存器R14除可做通用寄存器外,还可以做:A.堆栈指针寄存器B.链接寄存器C.程序计数器D.程序状态寄存器
Cortex-M3和Cortex-M4处理器使用32位架构,寄存器组中断内部寄存器、数据以及总线接口都是32位。Cortex-M处理器使用的指令集架构(ISA)是Thumb ISA(是一种RISC(精简指令集)),其基于Thumb-2技术并同时支持16位和32位指令。 主要有以下特点: 三级流水线:取指、译码、执行。
BASEPRI:中断屏蔽寄存器,按照优先级进行屏蔽; CONTROL:处理器模式和堆栈选择; 他们的含义如下: 下面我们一个一个看 2.1、xPSR xPSR 是 Program Status Register 程序状态寄存器的意思,前面有个 x 代表他是由 3 个小的寄存器构成: APSR:应用程序状态寄存器; ...
这是内核相关的寄存器,其中,通用寄存器中有几个是作为专用功能寄存器来用的,分别是R13、R14、R15,代表SP、LR和PC。这部分在看AAPCS的时候也已经看过了。 SP寄存器究竟代表什么含义,这个是有CONTROL寄存器来决定的。 在复位时,处理器用复位向量的值加载PC,该值位于地址0x00000004。