嵌入式实验报告.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

西安电子科技大学

嵌入式系统课程实验报告

实验名称ARM开发基础

成绩**学院1518021

成绩

姓名**学号

同作者无

实验日期2018年6月14日

指导教师评语:

指导教师:

年月日

实验目的

??初步学会使用μVision3IDEforARM开发环境及ARM软件模拟器;

??通过实验掌握简单ARM汇编指令的使用方法;

实验内容

??熟悉开发环境的使用并使用ldr/str,mov等指令

??学习使用add/sub/lsl/lsr/and/orr等指令,完成基本算术/逻辑运算;

??设计实现表达式y=a*8+b/2-c,并验证之。

实验原理

ARM9处理器内核共有37个寄存器:

??31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的;

??6个状态寄存器。这些寄存器也是32位的,但是只是使用了其中的12位。

这里简要介绍通用寄存器,关于状态寄存器的介绍。

1.ARM通用寄存器

通用寄存器(R0-R15)可分为三类:

??不分组寄存器R0~R7;

??分组寄存器R8~R14;

??程序计数器PC。

(1)不分组寄存器R0~R7

不分组寄存器R0~R7在所有处理器模式下,它们每一个都访问一样的32位寄存器。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。

(2)分组寄存器R8~R14

分组寄存器R8~R14对应的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。

寄存器R8~R12各有两组物理寄存器:一组为FIQ模式,另一组为除了FIQ以外的所有模式。寄存器R8~R12没有任何指定的特殊用途,只是在作快速中断处理时使用。寄存器R13,R14各对应6个分组的物理寄存器,1个用于用户模式和系统模式,其它5个分别用于5种异常模式。寄存器R13通常用做堆栈指针,称为SP;寄存器R14用作子程序链接寄存器,也称为LR。

(3)程序计数器PC

寄存器R15用做程序计数器(PC)。

在本实验中,ARM核工作在用户模式,R0~R15可用。

2.存储器格式

ARM体系结构将存储器看作是从零地址开始的字节的线性组合。字节零到字

节三放置第一个字(WORD),字节四到字节七存储第二个字,以此类推。ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。

??大端格式

在这种格式中,字数据的高位字节存储在低地址中,而字数据的低位字节则存放在高地址中,如图4-1所示。

??小端格式

在这种格式中,字数据的高位字节存储在高地址中,而字数据的低位字节则存放在低地址中,如图4-2所示。

3.Realview基础知识

μVision3IDE集成了REALVIEW汇编器AARM、编译器CARM、链接器LARM,若采用GNU编译器则需要下载安装相应的工具包。本书所有例程代码均按照REALVIEW的语法和规则来书写。关于AARM、CARM和LARM的规范和具体使用,可参照μVision3IDE所带的帮助文档,在此不再赘述。

实验步骤

拷贝整个实验例程源码目录到本地磁盘自己的工作目录下;

2)使用μVisionIDEforARM通过ULINK2仿真器连接实验板,打开实验例程目录ARM体系\1.1_asm1子目录下的asm_1a.Uv2例程,编译链接工程;

3)该工程配置为在模拟器中运行。可以通看工程属性查看:菜单“Project”?”OptionsforTargetAsm1”,在弹出的对话框中点击“Debug”:

可以看到选择为“UseSimulator”,在Debug选项页内设置了一个初始化文件:DebugINRam.ini。此.INI文件用于设置生成的.AXF文件下载到目标中的位置,以及调试前的寄存器、内存的初始化等配置操作。它是由调试函数及调试命令组成调试命令脚本文件。

4)接下来开始编译链接工程,在菜单栏“Projiet”选择“Buildtarget”或者“Rebuildalltargetfiles”编译整个工程,用户也可以在工具栏单击“”或者“”进行编译。

5)编

文档评论(0)

186****0349 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档