嵌入式实验指导书(计算机专业适用)08版 - 图文(6)

2019-02-15 14:14

第三章 嵌入式软件开发基础实验

3.1 ARM汇编指令实验一

3.1.1 实验目的

? 初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器; ? 通过实验掌握简单ARM汇编指令的使用方法。

3.1.2 实验设备

? 硬件:PC机

? 软件:Embest IDE Pro ARM集成开发环境,Windows 98/2000/NT/XP。

3.1.3 实验内容

? 熟悉开发环境的使用并使用ldr/str,mov等指令访问寄存器或存储单元。 ? 使用add/sub/lsl/lsr/and/orr等指令,完成基本数学/逻辑运算。

3.1.4 实验原理

1. 存储器格式

ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。 1) 大端格式

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

高地址 31 23 22 16 15 8 7 0 字地址 低地址 2) 小端格式

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

8 4 0 9 5 1 10 6 2 11 7 3 8 4 0

高地址 31 23 22 16 15 8 7 0 字地址 11 10 9 8 8 7 6 5 4 4 3 2 1 0 0 低地址

26

3. GNU基础知识

Embest IDE集成了GNU 汇编器as,编译器gcc,链接器ld。因此,我们写程序要符合GNU的语法和规则。关于as、gcc和ld的具体使用,请参照Embest IDE所带的电子文档ProgRef.chm,在此不再赘述。这里简单介绍几点基本知识:

1) 程序默认入口点为“_start”,代码段默认起始地址为0x8000 2) as常用伪操作符 .equ

.equ伪操作为数字常量、基于寄存器的值和程序中的标号定义一个字符名称。 语法格式

.equ symbol, expr

其中,expr为基于寄存器的地址值、程序中的标号,32位的地址常量或者32位的常量。

Symbol为.equ伪操作为expr定义的字符名称。 示例

.equ Version, \.global及.globl

.global声明一个符号可以被其他文件引用。相当于声明了一个全局变量,.globl与.global相同。

语法格式

.global symbol

其中,symbol为声明的符号的名称。它是区分大小写的。

示例

.global MyAsmFunc .text

.text伪操作将操作符开始的代码编译到代码段或代码段子段(subsection) 语法格式

.text {subsection} 示例

.text .end

标记汇编文件的结束行,即标号后的代码不作处理。 语法格式

.end

3.1.5 实验操作步骤

1) 新建工程:

运行Embest IDE集成开发环境,选择菜单项File → New Workspace,系统弹出一个对话框,按照图3-1所示输入相关内容。

27

图3-1 新建工作区

点击OK按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程。

2) 建立源文件:

点击菜单项File → New,系统弹出一个新的、没有标题的文本编辑窗,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。编辑完后,保存文件asm1_a.s。

3) 添加源文件:

选择Project → Add To Project → Files 命令,或单击工程管理窗口中的相应右键菜单命令,弹出文件选择对话框,在工程目录下选择刚才建立的源文件asm1_a.s。

4) 基本配置:

选择菜单项Project → Settings…或快捷键Alt+F7,弹出工程设置对话框。在工程设置对话框中,选择Processor设置对话框,按照图3-2所示,进行目标板所用处理器的配置。

图3-2 新的工作区处理器配置

5) 生成目标代码:

选择菜单项Build → Build asm1_a或快捷键F7,生成目标代码。

28

图3-3 Embest IDE编译按钮面板

6) 调试设置:

选择菜单项Project → Settings…或快捷键Alt+F7,弹出工程设置对话框。在工程设置对话框中,选择Remote设置对话框,按照图3-4所示对调试设备模块进行设置。

图3-4 新工作区仿真器配置

选择Debug设置对话框,按照下面各图进行调试模块配置。

(a)连接相关配置

29

(b)下载相关配置 图3-5 新工作区调试器配置

注意: Symbol file与Download file设置应该相同,用户可以从Linker页面拷贝系统默认的输出文件配置;且该实验输入下载地址为0x8000,即为AS默认的代码段起始地址。由于汇编和链接选项在本实验中没有进行配置,完全使用其默认选项,所以,代码段是从0x8000开始的,下载地址应该与它保持一致。

7) 选择Debug菜单Remote Connect 进行连接软件仿真器,执行Download命令下载程序,并打开寄存器窗口。打开memory窗口,观察地址0x8000~0x801f的内容,与地址0xff0~0xfff的内容。

8) 单步执行程序并观察和记录寄存器与memory的值变化。

9) 结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令的使用。 10)理解和掌握实验后,完成实验练习题。

3.1.6 实验参考程序

实验A参考程序:

/********************************************************************************************* # NAME: # Desc:

asm1_a.s

* * * *

# Author: Embest

ARM instruction examples

# History: shw.He 2005.02.22

/********************************************************************************************* /*----------------------------------------------------------------------------------------------------------*/

30


嵌入式实验指导书(计算机专业适用)08版 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:物理化学实验

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: