版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 ARM处理器工作模式实验 一、实验目的 通过实验掌握学会使用MSR/MRS指令实现ARM处理器工作模式的切换,观察不同模式下的寄存器,加深对CPU结构的理解。 通过实验掌握ld中如何使用命令行指定代码段起始地址。 二、实验设备 硬件:PC机。 软件:Embest IDE Pr0 2004集成开发环境,Windows 98/2000/NT/XP。 三、实验内容 通过ARM汇编指令,在各种处理器模式下切换并观察各种模式下寄存器的区别。 掌握ARM不同模式的进入与退出。 四、实验原理 1ARM处理器模式 ARM体系结构支持表3-2所列的7种处理器模式。 在软件控制下可以改变模式,外部中断或异常处理
2、也可以引起模式发生改变。 大多数应用程序在用户模式下执行。当处理器工作在用户模式时,正在执行的程序不能访问某些被保护的系统资源,也不能改变模式,除非异常发生。这允许适当编写操作系统来控制系统资源的使用。 除用户模式外的其他模式称为“特权模式”,它们可以自由地访问系统资源和改变模式。 其中的5种称为“异常模式”,即FIQ(Fast Interrupt Request)、IRQ(lnterrupt Request)、管理(Supervisor)、中止(Abort)和未定义(Undefined)。 当特定的异常出现时,进入相应的模式。每种模式都有某些附加的寄存器,以避免异常出现时用户模式的状态不可靠
3、。 剩下的模式是“系统模式”。仅ARM体系结构V4以及以上的版本有该模式。不能由于任何异常而进入该模式。它与用户模式有完全相同的寄存器,但它是特权模式,不受用户模式的限制。它供需要访问系统资源的操作系统任务使用,但希望避免使用与异常模式有关的附加寄存器。避免使用附加寄存器保证了当任何异常出现时,都不会使任务的状态不可靠。 2程序状态寄存器 3.2节提到的程序状态寄存器CPSR和SPSR包含了条件码标志、中断禁止位、当 前处理器模式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时,SPSR用于保留CPSR的状态。 3本实验涉及到的Id命令行参数 -Ttext
4、org 使用org作为输出文件的text段的起始地址。org必须是十六进制数。 实验操作步骤 (1)参考3.1节实验A的步骤(1)建立一个新的工程,命名为ARMMode。 (2)参考3.1节实验A的步骤(2)和实验参考程序编辑输入源代码。编辑完毕后,保存文件为ARMMode.s。 (3)选择菜单项Project- Add To Project- Files,或在工程管理窗口右击选择快搪菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件ARMMode.s。 (4)参考3.1节实验A的步骤(4)进行相应设置。 注意:在链接器设置选项卡的Link Options框内,手动加上“-Ttex
5、t Ox0”,即指定代码段起始地址为Ox0,如图3-8所示。 (5)参考3.1节实验A的步骤(5)生成目标代码。 (6)在调试设置选项卡中的Download address文本框内,输入的下载地址应该与链接器设置中指定的代码段起始地址相同,以保证程序能够正常执行,如图3-9所示。 (7)选择菜单项DebugRemote Connect连接软件仿真器,执行Download命令下载程序,并打开寄存器窗口。 (8)单步执行,观察并记录寄存器RO和CPSR值的变化,以及每次变化后执行寄存器赋值后36个寄存器值的变化情况,尤其注意各个模式下R13和R14的值。 结合实验内容和相关资料,观察程序运行,通过
6、实验加深理解ARM各种状态下寄存器的使用。 理解和掌握试验后,完成实验练习题。 五、实验结果 实验参考程序 .global _start .text _start: b Reset_Handler Undefined_Handler: b Undefined_Handler b SWI_Handler Prefetch_Handler: b Prefetch_Handler Abort_Handler: b Abort_Handler nop /* Reserved vector */ IRQ_Handler: b IRQ_Handler FIQ_Handler: b FIQ_Handler
7、SWI_Handler: mov pc, lr Reset_Handler: mrs r0,cpsr /* read CPSR value */ bic r0,r0,#0 x1f /* clear low 5 bit */ orr r0,r0,#0 x1f /* set the mode as System mode */ msr cpsr,r0 /* write the data into CPSR */ mov r0, #1 /* initialization the register in System mode */ mov r1, #2 mov r2, #3 mov r3, #4 m
8、ov r4, #5 mov r5, #6 mov r6, #7 mov r7, #8 mov r8, #9 mov r9, #10 mov r10, #11 mov r11, #12 mov r12, #13 mov r13, #14 mov r14, #15 /* into FIQ mode */ mrs r0,cpsr bic r0,r0,#0 x1f orr r0,r0,#0 x11 /* set the mode as FIQ mode */ msr cpsr,r0 mov r8, #16 /* initialization the register in FIQ mode */ mo
9、v r9, #17 mov r10, #18 mov r11, #19 mov r12, #20 mov r13, #21 mov r14, #22 /* into SVC mode */ mrs r0,cpsr bic r0,r0,#0 x1f orr r0,r0,#0 x13 /* set the mode as SVC mode */ msr cpsr,r0 mov r13, #23 /* initialization the register in SVC mode */ mov r14, #24 /* into Abort mode */ mrs r0,cpsr bic r0,r0,
10、#0 x1f orr r0,r0,#0 x17 /* set the mode as Abort mode */ msr cpsr,r0 mov r13, #25 /* initialization the register in Abort mode */ mov r14, #26 /* into IRQ mode */ mrs r0,cpsr bic r0,r0,#0 x1f orr r0,r0,#0 x12 /* set the mode as IRQ mode */ msr cpsr,r0 mov r13, #27 /* initialization the register in IRQ mode */ mov r14, #28 /* into UNDEF mode */ mrs r0,cpsr bic r0,r0,#0 x1f orr r0,r0,#0 x1b /* set the mode as UNDEF mode */ msr cpsr,r0 mov r13, #29 /* ini
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全残保障保险合同
- 室内设计师考试试卷及答案
- 商业综合体景观设计师考试试卷及答案
- 砌筑工高级技师考试试卷及答案
- 代理权合作协议书
- 临聘后勤人员协议书
- 有关单位开具的常驻协议书
- 健身房客户保密协议书
- 给个人签的入股协议书
- 知识产权价值分配协议
- 实施指南(2025)《AQ 2059-2016磷石膏库安全技术规程》
- GB/T 20118-2025钢丝绳通用技术条件
- 信贷业务担保知识培训课件
- 艾滋病卡波西肉瘤课件
- 防护目镜使用课件
- 初中英语整体单元教学研究报告
- 3.1 世界是普遍联系的 课件 高中政治统编版必修4 哲学与文化
- 人教版高中高二《美术》选择性必修一-为眼睛做导游(建构画面)-教学设计
- 监狱智能管理系统
- 人造板行业政策与安全生产考核试卷
- ICD-9-CM-3手术编码6.0标准版-临床版新版字典库
评论
0/150
提交评论