ARM(ARM内部寄存器及SFR、异常处理、中断向量表)

1、ARM内部寄存器:设计在CPU内部

(1)特点:速度快

(2)数量:一共有37个:

6个状态寄存器;

31个通用寄存器(R0-R12)

R13(SP):栈指针,不同模式下栈空间是不一样的

R14(LR):链接寄存器(存放断点),硬件自动完成

R15(PC):程序指针,取指令的位置

在FIQ模式下是独立的与其他模式不同

R16  PSR--CPSR(当前状态寄存器) 

SPSR:程序状态寄存器

条件状态(NZCV)保留字 I  F  T 模式位(M4-M0)

SFR(Special Function Register)特殊功能寄存器

IO端口/寄存器,它属于外设的组成部分,ARM是采用与寄存器统一编址的方式

使用软件编程控制某一硬件,其实就是编程读写该硬件的寄存器

2、ARM异常处理

(1)模式与异常

异常的类型:

Reset:复位

undefined instruction:未定义

swi:软中断

prefect/bort

data/abort

Reserved

IRQ:中断

FIQ:快速中断

处理器的模式:每一个异常对应一种模式,但不是一一对应关系

(2)ARM异常处理的过程:

进入异常硬件完成下面动作:

(1)断点:放到LR里面,

(2)CPSR的值放到SPSR

(3)修改CPSR中的模式位

(4)PC跳到中断向量(异常向量)

软件完成下面的动作:

(1)中断散转,二级中断(由硬件完成,不需要手动代码)

(2)保护现场

(3)中断服务程序

(4)恢复现场(LR赋给PC,SPSR的值返回CPSR)

3、中断向量表

猜你喜欢

转载自www.cnblogs.com/zhai1997/p/12426520.html