1 / 25
文档名称:

ARM嵌入式系统实验报告1.doc

格式:doc   大小:384KB   页数:25页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ARM嵌入式系统实验报告1.doc

上传人:s0012230 2017/8/14 文件大小:384 KB

下载得到文件列表

ARM嵌入式系统实验报告1.doc

文档介绍

文档介绍:郑州航空工业管理学院
嵌入式系统实验报告
20 13 – 20 14 第 2 学期
赵成,张克新
院系: 电子通信工程系
姓名: 周振宇
专业: 物联网工程
学号: 121309140
电子通信工程系
2014年3月制
实验一 ARM体系结构与编程方法
一、实验目的
了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统, IDE中进行ARM汇编语言程序设计。
二、实验内容
IDE的安装、环境配置及工程项目的建立;
(参考附录A):
(1)两个寄存器值相加;
(2)LDR、STR指令操作;
(3)使用多寄存器传送指令进行数据复制;
(4)使用查表法实现程序跳转;
(5)使用BX指令切换处理器状态;
(6)微处理器工作模式切换;
三、预备知识
了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。
四、实验设备
1. 硬件环境配置
计算机:Intel(R) Pentium(R) 及以上;
内存:1GB及以上;
实验设备:ARM2410-S嵌入式开发平台,J-Link V8仿真器;
2. 软件环境配置
操作系统:Microsoft Windows XP Professional Service Pack 2;
集成开发环境:ARM Developer Suite (ADS) 。
五、实验分析
IDE中包括 CodeWarrior 和 AXD Dubugger 两个软件组件。 ARM Executable Image(ARM可执行映像) 类型的工程,工程目标配置为 Debug ;接着,还需要对工程进行目标设置、语言设置及链接器设置;最后,配置仿真环境为 ARMUL 仿真方式。
,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。
; 文件名:
AREA XTF,CODE,READONLY
ENTRY
CODE32
SART MOV R1,#1
MOV R2,#2
ADD R0,R1,R2
HALT B HALT
END

声明代码段XTF
标识程序入口
声明32位ARM指令
设置参数

R0<---R1+R2
死循环
结束程序段
、STR指令的汇编程序,并在关键语句后面给出相应的注释。
AREA XTF,CODE,READONLY ;声明代码段XTF
ENTRY ;标示程序入口
CODE32 ;声明32位ARM指令

START LDR R0,=1 ;加载数据
LDR R1,=2
LDR R3,=ADDR_1 ;载符号地址
ADD R2,R0,R1 ;R2<---R0+R1
STR R2,[R3] ;R2--->[R3]
;数据空间定义
AREA Data_1,DATA,ALIGN=2
ADDR_1 DCD 0

END ;结束
4.“使用多寄存器传送指令进行数据复制”汇编程序分析。
LDR R0,=SrcData ; 执行后,R0的值是标号SrcData的地址
LDR R1,=DstData ; 执行后,R1的值是标号DstDatad 的地址
LDMIA R0,{R2-R9} ; LDMIA中的指令后缀IA表示 Increase After,即 每次传送后地址加4,[R0]-->R2,[R0+4]-->R3,…,[R0+28]-->R9
STMIA R1,{R2-R9} ;执行后,程序实现的功能是[R1]<--R2,[R1+4]<--R3,
…,[R1+28]<--R9
“使用查表法实现程序跳转”的汇编程序中,指令LDR PC,[PC,R2]采用的是什么寻址方式?作为基址的寄存器PC的值是多少?作为指令指针的PC又指向哪条指令?这个指令与流水线执行的关系是什么?(选做)
答: 1)基址加变址寻址;2)PC<----[PC+R2],即PC中存放的是当前PC值加上寄存器R2中的内容形成的有效地址中的操作数;3)对于ARM指令集,PC总是只想当前指令的下两条指令,即PC的值为当前指令的地址值加上8个字节(每条指令占4个字节)。
“使用BX指令切换处理器状态”汇编程序实验,回答ARM指令与Thumb指令之间是如何实现状态切换的?AXD Debugg