S3C2440A的ARM工作模式以及寄存器种类

文章目录

  • 前言
  • 一、ARM的工作模式
  • 二、寄存器的种类(注意特殊寄存器的使用)
  • 总结


前言


本期和大家主要分享的是ARM工作模式以及寄存器种类,不同系列的ARM的工作模式以及寄存器的种类大同小异,所以针对于S3C2440A,一定得通过这一种ARM能够去分析其他的ARM架构,这就要求我们对S3C2440A认真剖析并且进行原理上的理解而不是一味的背诵记忆,包括对特殊寄存器的理解;那么接下来看一下它的工作模式和寄存器的种类吧!

一、ARM的工作模式

ARM的工作模式 = 用户模式+特权模式;特权模式这里又被分为五种模式;
(1)usr用户模式:应用程序运行的模式(大多数的模式状态)
(2)sys系统模式(特权模式):和usr模式使用相同一组寄存器的特权模式
异常模式
(1)svc 管理模式:cpu上电复位后的模式,软件中断后cpu的模式
(2)und 未定义 :出现不识别指令时,cpu的工作模式
(3)abort 中止:预取指令失败,数据加载失败cpu的工作模式
(4)irq中断 : irq中断cpu的工作模式
(5)fiq :快速中断fiq,中断cpu的工作模式(fiq的优先级一般高于irq)

二、寄存器的种类(注意特殊寄存器的使用)

ARM920T总共有37个寄存器,每个模式都有一组寄存器,寄存器通过名字区分

r0-r14:通用寄存器;

r13(sp):栈指针寄存器:当任务切换时,可以保存通用寄存器数据到sp指向的内存空间;

r14(lr):链接寄存器:函数跳转时,可以保存返回地址到lr寄存器;

r15(pc):程序计数器:
写操作: cpu跳转到写入的地址处执行代码,上电默认0;
读操作:读取的数据是当前正在执行指令的下下条指令地址 ;

功能寄存器: cpsr spsr
cpsr (程序状态寄存器):记录当前程序状态;
spsr(程序状态保存寄存器):保存cpsr;每一种模式下都有一个状态寄存器SPSR,用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
下图是2440中的寄存器:
S3C2440A的ARM工作模式以及寄存器种类_第1张图片


总结

本期分享的内容ARM工作模式以及寄存器种类,并且本期分享内容较少的原因也是因为这块的知识是一段很重要并且可以拿出来单独理解记忆的东西,后续希望大家在记忆的基础上一定着重对于原理的理解;
最后,各位小伙伴们如果喜欢我的分享可以点赞收藏哦,你们的认可是我创作的动力,一起加油!

你可能感兴趣的:(ARM体系结构与接口技术,linux,arm开发,嵌入式硬件,寄存器,arm架构)