- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM寄存器与处理器模式
实验
ARM 寄存器/处理器模式
实验目的
熟悉使用ADS 开发环境,初步学会搭建嵌入式开发环境。
实验设备
硬件:PC 机。
软件:ADS 集成开发环境,Windows 2000/XP/2003 。
实验内容
熟悉开发环境,并使用LDR/STR 和MOV 指令等访问寄存器或存储单元。
实验原理
ARM 指令集是基于精简指令集计算机 (RISC )原理设计的,指令集和相关译码机制较
为简单。RICS 指令集的一个显著特点为:访问存储器只能通过Load/Store 两种指令完成。
其它指令只能对寄存器和立即数操作。ARM 提供了 LDR/STR 两条指令实现了访存操作,
同时,为了提高访存速度,还提供了LDM/STM 用于批量访存。
ARM 处理器共有37 个寄存器。其中包括31 个通用寄存器和6 个状态寄存器。对应于
ARM 的7 种不同处理器模式,每一种模式下都有一组相应的寄存器组。在任何时刻,可见
的寄存器包括15 个通用寄存器 (R0-R14),一个或两个状态寄存器及程序计数器 (PC )。寄
存器与处理器模式的对应关系如图1 所示:
以下的寄存器按功能可以分了两类:通用寄存器和状态寄存器。其中通用寄存器中的
R13、R14 和R15 按管理分别被用作堆栈指针寄存器(SP) 、返回地址寄存器(SP)和程序寄存
器(PC) 。状态寄存器只有两种:CPSR 和SPSR。
图1 ARM 处理器模式与寄存器的关系
通用寄存器
通用寄存器包括R0~R15 ,可以分为三类:
1. 未分组寄存器R0 ~R7,它们在每个模式下都对应同一个物理寄存器。
2. 分组寄存器R8~R14 ,又称影子寄存器,不同模式下的寄存器对应的物理寄存器不同。
3. 程序计数器PC(R15) 。
程序状态寄存器
CPSR 和 SPSR 的格式如下:
31 30 29 28 27 26 8 7 6 5 4 3 2 1 0
N Z C V Q 保留 I F T M M M M M
条件码标志:N、Z、C、V 。
大多数指令可以测试这些条件码标志以决定程序指令如何执行。
控制位:最低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]) 是模式位。
这些位决定处理器的工作模式.如表1 所示。
表1 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
实验步骤
1. 打开 Codewarrior For ARM Developer Suite ,依次点击 File-New ,新建一个 ARM
Executable Image
原创力文档


文档评论(0)