人人范文网 范文大全

ARM与嵌入式实验报告

发布时间:2020-03-02 07:11:08 来源:范文大全 收藏本文 下载本文 手机版

ARM与嵌入式技术

实验报告

专业班级:通信工程

姓名:**** 学号:******

实验日期:2012年6月7日 指导老师:*****

一、实验目的

1.学习使用Embest IDE开发环境及ARM 软件模拟器;

2.掌握简单ARM 汇编指令,进一步加强对嵌入式的熟悉和了解。

二、实验设备

硬件:PC 机

软件:Embest IDE 开发环境

三、实验内容

例3:实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 例2:编写程序将R2的高8位传送到R3的低8位(不考虑R3的其它位); 例7:编写一段程序计算10!;

例8:串拷贝(R1指向源数据串的首地址,R0指向目的数据串的首地址)。

四、实验步骤

1) 新建工程:

运行Embest IDE 集成开发环境,选择菜单项File → New Workspace ,如图一,系统弹出一个对话框,键入文件名“沈”,如图二,点击OK 按钮。将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程.。

2) 建立源文件:

点击菜单项File → New,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。编辑完后,保存文件“沈.s”后缀,如图四。

3) 添加源文件:

选择菜单项Project → Add To Project → Files ,在工程目录下选择刚才建立的源文件.s后缀文件,如图五,图六。

4) 基本配置:

选择菜单项Project → Settings,弹出工程设置对话框。在工程设置对话框中。 ① 选择Proceor 设置对话框,按照图七所示,进行配置:

图七

② 选择Remote设置对话框,按照下图八所示,进行配置:

图八 ③ 选择最右边一个进行编译,显示如图九,则编译成功。

图九

④ 选择Project → Settings → Debug设置对话框,按照图十所示,进行配置:

图十 ⑤

选择

5)选择菜单项Debug →Remote Connect 进行连接软件仿真器,将存储器地址改为0x1000,如图十一,执行Debug →Download 命令下载程序,并打开寄存器窗口。打开memory 窗口,按F10进行单步跟踪,观察寄存器的数据变化并分析。 最右边一个进行编译,显示如图九,则编译成功。

图十一

五、各实验的参考程序及运行结果

实验一:(例3)实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 1.程序代码如下:

.global _start

.text _start:

mov R0,#11

/*R0=11*/ mov R1,#22

/*R1=22*/ mov R2,#33

/*R2=33*/ mov R3,#44

/*R3=44*/ ADDS R0,R0,R2

/*R0等于低32位相加,并影响标志位*/

ADC R1,R1,R3

/*R1等于高32位相加,并加上低位进位*/ stop:

b stop .end

2.分析调试:

①download下载:

② 读入数据:

③ r0+r2→r0 (低32位):

④ r1+r3→r1(带进位的加法):

实验二:(例2)编写程序将R2高8位传送到R3的低8位(不考虑R3的其它位);

1.程序代码如下:

.global _start _start: ldr r2,=0x23453401 ldr r3,=0xabcd1200 and r2,r2,#0xff000000 /*保留R2的高8位,屏蔽低24位*/ and r3,r3,#0xffffff00 /*保留R3的高24位,屏蔽低8位*/

orr r3,r3,r2,lsr #24

/*将R2的高8位传送到R3的低8位*/ stop:

b stop .end

2.分析调试:

①download下载:

②保留r2的高8位,屏蔽低24位:

③保留r3的高24位,屏蔽低8位:

④将R2的高8位传送到R3的低8位:

实验三:(例7)编写一段程序计算10!

1.程序代码如下:

.global _start .text .equ num,10 _start: mov r0,#num mov r1,r0 s1: subs r1,r1,#1

/*把r1-1放入r1*/ mul r0,r1,r0

/*r0*r1放入r0*/ cmp r1,#1

/*比较R1与1的大小*/ beq stop

bne s1 stop: b stop .end

2.分析调试:

① download下载:

② 第一次执行S1,r1=10-1=9,10*9=90,换成16进制是5a。

③ 第二次执行S1,r1=9-1=8,10*9*8=720,换成16进制是2d0。

④ 依次执行S1,到r1=1,停止,10*9*8„„*1=3628800,换成16进制是375f00。

实验四:(例8)串拷贝(R1指向源数据串首地址,R0指向目的数据串的首地址)。 1.程序代码如下: .global _start .text .EQU NUM,8 _start:

LDR R0,=srcstr

/*指向源数据串R0*/

LDR R1,=dststr

/*指向目标数据串R1*/

mov R3,#NUM

/*R3=8*/

mov LR,PC

/*返回*/

B strcopy

/*调用串拷贝子程序*/ stop: b stop

strcopy:

LDRB R2,[R0],#1

/*装载字节同时更新地址*/

STRB R2,[R1],#1

/*存储字节同时更新地址*/

SUBS R3,R3,#1

CMP R3,#0

/*判断是否结束*/

BNE strcopy

/*不是,则继续*/

MOV PC,LR

/*返回*/ .data

srcstr: .long 1,2,3,4,5,6,7,0

/*定义源数据串*/

dststr: .long 5,3,2,1,4,6,8,0

/*定义目的字符串*/

2.分析调试:

①单步跟踪后的结果及存储器的结果显示:

②寄存器的结果显示:

六、实验心得

今天在实验室里,学习使用Embest IDE开发环境及ARM 软件模拟器,掌握简单ARM 汇编指令,进一步加强了对嵌入式的熟悉和了解。郑老师在兢兢业业的向我们传授实践知识的同时也向我们提问相关理论问题,让我们在学习的过程加深对实践和理论两者之间的联系,知道每一个步骤的发生的原因及产生相应的结果,即对实验的来龙去脉有了更清楚的认识,为今后的学习打下了一定的基础。相信在接下来的实验中,我们会在郑老师的引导下,做起实验来更能得心应手,轻车熟驾!

嵌入式系统ARM实验报告

arm嵌入式学习心得

嵌入式ARM键盘控制LED灯实验报告

实习总结嵌入式ARM

嵌入式实验报告

嵌入式实验报告

嵌入式实验报告

嵌入式实验报告

嵌入式实验报告

嵌入式实验报告

ARM与嵌入式实验报告
《ARM与嵌入式实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档