码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-03-06 15:23:27      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:中断向量   对应关系   efi   info   图片   mic   cpu   undefined   返回   

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、中断向量表

技术图片

 

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

标签:中断向量   对应关系   efi   info   图片   mic   cpu   undefined   返回   

原文地址:https://www.cnblogs.com/zhai1997/p/12426520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!