1 / 51
文档名称:

嵌入式实验指导书.doc

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

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

分享

预览

嵌入式实验指导书.doc

上传人:wenjun1233211 2016/3/14 文件大小:0 KB

下载得到文件列表

嵌入式实验指导书.doc

文档介绍

文档介绍:评分: ARM 嵌入式体系结构与接口技术实验报告班级:电气 07-1班学号: 姓名: 指导教师: 廖京盛实验日期: 2010 年10月日—月日 2 ARM 汇编指令实验实验目的初步学会使用μVisi onIDE for ARM开发环境及 ARM软件模拟器; 通过实验掌握简单ARM 汇编指令的使用方法。实验设备硬件:PC机一台; 软件:μVis ion IDEforARM集成开发环境, Windows98/ 2000/NT/XP。实验内容熟悉开发环境的使用并使用ld r/str,m ov等指令访问寄存器或存储单元; 使用 add/su b/lsl/lsr/and /orr等指令,完成基本算术/ 逻辑运算。实验原理 ARM处理器共有 37个寄存器: 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是 32位的; 6个状态寄存器。这些寄存器也是32位的,但是只是使用了其中的12位。这里简要介绍通用寄存器,关于状态寄存器的介绍,请参照下一节。 RM 通用寄存器通用寄存器(R0-R15)可分为三类: 不分组寄存器R0~R7; 分组寄存器 R8~R14; 程序计数器 PC。(1)不分组寄存器 R0~R7 不分组寄存器R0~R7在所有处理器模式下,它们每一个都访问一样的32位寄存器。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。(2)分组寄存器R8~R 14 分组寄存器R8~R 14对应的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理器模式, 则要使用规定的名字。寄存器R8~R 12各有两组物理寄存器:一组为FIQ模式,另一组为除了FIQ 以外的所有模式。寄存器R8~R 12没有任何指定的特殊用途,只是在作快速中断处理时使用。寄存器R 13,R 14 各对应6个分组的物理寄存器,1个用于用户模式和系统模式,其它5个分别用于5种异常模式。寄存器R 13通常用做堆栈指针,称为SP;寄存器R 14用作子程序链接寄存器,也称为 LR。(3)程序计数器 PC 寄存器R 15用做程序计数器(PC)。在本实验中,ARM核工作在用户模式, R0~R 15可用。 ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节零到字节三放置第一个字 3 ( WOR D),字节四到字节七存储第二个字,以此类推。 ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。大端格式在这种格式中, 字数据的高位字节存储在低地址中, 而字数据的低位字节则存放在高地址中, 如图 4 -1-1 所示。图4-1-1 大端格式小端格式在这种格式中,字数据的高位字节存储在高地址中,而字数据的低位字节则存放在低地址中, 如图 4 -1-2 所示。图4-1-2 小端格式 LVI EW 基础知识μVisi on3 IDE集成了 REALV IEW 汇编器 AARM、编译器CARM、链接器LARM,若采用 GNU编译器则需要下载安装相应的工具包。本书所有例程代码均按照 REALV IEW 的语法和规则来书写。关于AARM、CARM 和LARM的规范和具体使用,可参照μVisi on3 IDE所带的帮助文档,在此不再赘述。这里简单介绍几个相关基本知识: EN TRY 设置程序默认入口点,一个程序可有多个ENTRY, 但一个源文件最多只有一个ENTRY。 EQU EQU伪操用于将数字常量、基于寄存器的值和程序中的标号定义为一个字符名称。语法格式: symb olEQUexpressi on 其中,express ion 可以是一个寄存器的名字,也可是由程序标号、常量或者 32位的地址常量组成的表达式。 symbol是 EQU伪操作所定义的字符名称。示例:COU NTEQU 0X1 F FF EX TERN/IMPORTIMPORT(EXTERN功能完全相同)用于声明在其他模块中定义但需要在本文件中使用的符号。 EXTRN声明的变量必须是在其他模块中用EXPORT或GLOBAL声明过的。语法格式:4 IMPORTcla ss (symbol,symb ol...) 其中,class为变量的类型,可以为 ARM、CODE16、CODE32、DATA、CO NST、 TH UMB;symb ol 为所声明的变量名。 EXPORT/GLOBALEXPORT( GLOB AL功能完全相同)用于声明在本文件中定义但能在其他模块中使用的变量,相当于定义了一个全局变量。语法格式: EXPORT sy mb ol, symb ol... 其中, symbol为所声明的变量名。 AREAAREA用于定义一个代码段或数据段,ARM汇编程序设计采用分段式设计,一个ARM源程序至少有一个代码段,大的程序会有若干个代码段和数据段。