OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9165|回复: 0

ARM寄存器的总结

[复制链接]

8

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2012-8-17
在线时间
0 小时
发表于 2012-9-11 10:34:16 | 显示全部楼层 |阅读模式


ARM处理器共有37个寄存器: 


 1) 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的;
2)6个状态寄存器。这些寄存器也是32位的,但是只使用了其中的12位。


ARM通用寄存器 通用寄存器(R0-R15)可分为三类:
不分组寄存器R0~R7;分组寄存器R8~R14;程序计数器PC。


 1)不分组寄存器R0~R7 不分组寄存器R0~R7在所有处理器模式下,它们每一个都访问一样的32位寄存器。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。
 2)分组寄存器R8~R14 分组寄存器R8~R14对应的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。 寄存器R8~R12各有两组物理寄存器:一组为FIQ模式,另一组为除了FIQ以外的所有模式。寄存器R8~R12没有任何指定的特殊用途,只是在作快速中断处理时使用。寄存器R13,R14各对应6个分组的物理寄存器,1个用于用户模式和系统模式,其它5个分别用于5种异常模式。寄存器R13通常用做堆栈指针,称为SP;寄存器R14用作子程序链接寄存器,也称为LR。


 3)程序计数器PC 寄存器R15用做程序计数器(PC)。 ARM程序状态寄存器 在所有处理器模式下都可以访问当前的程序状态寄存器CPSR。CPSR包含条件码标志,中断禁止位,当前处理器模式以及其它状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态。


 CPSR和SPSR的格式如表所示


CPSR和SPSR的格式 31 30 29 28 27 26~8 7 6 5 4 3 2 1 0
                  N Z C V Q DNM ( RAZ ) I F T M M M M M


 1)条件码标志: N,Z,C,V大多数指令可以检测这些条件码标志以决定程序指令如何执行。
 2)控制位: 最低8位I,F,T和M位用做控制位。当异常出现时改变控制位。当处理器在特权模式下也可以由软件改变。 中断禁止位:I置1则禁止IRQ中断;F置1则禁止FIQ中断。 T位:T=0指示ARM执行;T=1指示Thumb执行。在这些体系结构系统中,可自由地使用能在ARM和Thumb状态之间切换的指令。
 模式位:M0,M1,M2,M3和M4(M[4:0])是模式位,这些位决定处理器的工作模式,如表所示。


 表ARM工作模式M[4:0] M[4:0] 模式可访问的寄-存器
0b10000 用户 PC,R14~R0,CPSR
0b10001 FIQ PC,R14_fiq~R8_fiq,R7~R0,CPSR,SPSR_fiq
0b10010 IRQ PC,R14_irq~R8_fiq,R12~R0,CPSR,SPSR_irq
0b10011 管理 PC,R14_svc~R8_svc,R12~R0,CPSR,SPSR_svc
0b10111 中止 PC,R14_abt~R8_abt,R12~R0,CPSR,SPSR_abt
0b11011 未定义 PC,R14_und~R8_und,R12~R0,CPSR,SPSR_und
0b11111 系统 PC,R14~R0,CPSR


 3)其他位 程序状态寄存器的其他位保留,用作以后的扩展。 ARM核工作在用户模式,R0~R15可用。 存储器格式 ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节零到字节三放置第一个字(WORD),字节四到字节七存储第二个字,以此类推。 ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。 大端格式 在这种格式中,字数据的高位字节存储在低地址中,而字数据的低位字节则存放在高地址中 小端格式 在这种格式中,字数据的高位字节存储在高地址中,而字数据的低位字节则存放在低地址中


深圳信盈达专业的嵌入式培训!深圳信盈达专业的项目指导!深圳信盈达携手为您规划你的职业蓝图!

    张老师:13926586805     QQ:1924786560

深圳信盈达承接各种项目! 项目领域涉及:医疗机械、工控、军工、消费电子等!

信盈达开设多个精品课程!

单片机类课程:
  1.单片机开发实训班
        2.单片机基础班(汇编
            3.单片机高能项目实训班(零基础)

 嵌入式类课程有:
       1、嵌入式ARM9+Linux实训班
         2、嵌入式ARM11+Linux实训班
           3、Andriod/Linux驱动高级班
             4、Cortex-M3/ARM7+ucos实训班

 硬件工、程师培训班:
         1、PCB设计实训班(Protel/PADS2007)
                2、FPGA设计实训班

  通过系统的学习后,我们来个实际的项目实战:
      项目一、MP3/mp4娱乐产品
      项目二、智能家居系统
      项目三、数码照相框
      项目四、便携式数字产品
      项目五、远程监控系统
      项目六、工控机
      项目七、网络摄象机
      项目八、自带项目,指导完成

如果你是嵌入式或者单片机的初学者!qq:1924786560  为你指点学习中的困难!做你的航标!畅游在这嵌入式的海洋里!

南山实训基地:深圳市南山区南新路与桃园路交汇处苏豪名厦705室.
龙华实训基地:深圳市宝安区民治大道东边商务大楼1188室 .
沙井实训基地:深圳宝安区沙井街道创新路沙井广场1号楼1506室.
布吉实训基地:深圳布吉街道深惠路与百鸽路交汇百合银都国际D栋19G(百合酒店D栋)
龙岗实训基地:深圳市龙岗区南联路10号佰好大厦406,地铁南联地铁站C2出口
罗湖实训基地:深圳罗湖区银湖路轩阁花园A栋1楼

 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-26 00:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表