- 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嵌入式系统实验报告教程
班级:电信1304班 姓名:莫卓锟 学号实验一 ARM 汇编指令实验 1
一、实验目的
1.初步学会使用 Embest IDE for ARM 开发环境及 ARM 软件模拟器;
2.通过实验掌握简单 ARM 汇编指令的使用方法。
二.实验设备
1.硬件:PC 机;
2.软件:Embest IDE 2004 集成开发环境。Windows98/2000/NT/XP。
三.实验内容
1.熟悉开发环境的使用,并使用 LDR/STR 和 MOV 等指令访问寄存器或 存储单元。
2.使用 ADD/SUB/LSL/LSR/AND/ORR 等指令,完成基本数学/逻辑运算。
四.实验原理`
ARM 处理器共有 37 个寄存器:31 个通用寄存器,包括程序计数器(PC),这 些寄存器都是 32 位;6 个状态寄存器,这些寄存器也是 32 位,但只使用了其中 的 12 位。
1.ARM 通用寄存器
通用寄存器(R0~R15)可分为 3 类,即不分组寄存器 R0~R7.分组寄存器 R8~R14.程序计数器 R15。
2.存储器格式
ARM 体系结构将存储器看作是从零地址开始的字节的线性组合。字节 0~3 存 放第一个字,字节 4~7 存放第 2 个字,以此类推。
ARM 体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。 3.GNU 基础知识
Embest IDE 集成了 GNU 汇编器 as、编译器 gcc 和链接器 ld。因此,编写程 序要符合 CNU 的语法和规则。关于 as.gcc 和 ld 的具体使用,请参照 Embest IDE 所带的电子文档 ProgRef.chm。
五.实验操作步骤
1. 实验 A
(1)新建工程:先建立一个实验文件夹,如 E\DK07101\001_asm1。运行 Embest IDE 集成开发环境,选择 File→New Workspace 菜单项,弹出一个对话框,按照 图 1.1 输入工程名 asm1_a 等相关内容。单击 OK 按钮,将创建一个新工程,并 同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工 程。
图 1.1 新建工作区
(2) 建立源文件:选择 File→New 菜单项,弹出一个新的、没有标题的文本 编辑窗口,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。 编辑完后,保存文件 asml_a. s。
(3)添加源文件:选择 Project→Add To Project→File 项,或单击工程管理窗 口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建 立的源文件 asml_a.s。
图 1.2 新的工作区处理器设置
(4)基本设置:选择 Project→Settings…菜单项,或按下快捷键 Alt+F7,弹 出工程设置对话框。在工程设置对话框中,选择 Processor 属性页,按照图 1.2 对目标板所用处理器进行设置。
(5)生成目标代码:选择 Build→Build asm_a 菜单项,或按下快捷键 F7,生 成目标代码。也可以单击工具栏上相应按钮来完成。
(6)调试设置:选择选择 Project→Settings…菜单项,或按下快捷键 Alt+F7, 弹出工程设置对话框。在工程设置对话框中,选择 Remote 页面,按照图 1.3 所 示对调试设备模块进行设置。
图 1.3 新工作区仿真器设置 选择 Debug 页面,按照图 1.4 所示进行调试模块设置。
(a)连接相关设置 (b)下载相关设置 图 1.4 新工作区调试器配置
(7)选择 Debug→Remote Connect 连接软件仿真器,执行 Download 命令下载 程序,并打开寄存器窗口。
( 8 ) 打 开 存 储 器 窗 口 , 观 察 地 址 0x8000~0x801F 的 内 容 , 以 及 地 址
0xFF0~0xFFF 的内容。
(9)单步执行程序并观察和记录寄存器与存储器值的变化。
(10)结合实验内容和相关资料,观察程序运行,通过实验加深理解 ARM 指 令的使用。
实验 A 参考程序
area block, code, readonly entry
x equ45 ; 定义变量 x,并赋值为 45
y equ64 ; 定义变量 y,并赋值为
equ stack_top, 0x1000 ; 定义栈顶 0x1000 global start
text
_start ;程序代码开始标志
MOV sp, #stack_top
MOV r0, #x ;x 的值放入 R0
STR r0, [sp] ; R0 的值保存到堆栈
MOV r0, #y ; y 的值放入 R0
LDR r1, [sp]
文档评论(0)