ADS环境下的ARM汇编程序设计实验报告

ADS环境下的ARM汇编程序

    

一、 实验目的

1.了解 ARM汇编语言的基本框架,学会使用ARM的汇编语言编程。

2.熟悉ADS1.2下进行汇编语言程序设计的基本流程;

3. 了解AXD中调试功能。

二、 实验环境

硬件:PC机

软件:ADS1.2

三、 实验任务与步骤

实验任务

1、在ADS中新建工程,并设置开发环境

2、在Code Warrior环境中编辑、编译和链接汇编语言程序,并生成可执行文件

        ①在AXD中调试汇编程序。

        ②使用命令行界面编辑、编译和链接汇编程序。

实验步骤

1、 新建工程

打开 Code Warrior ,选择 File->New(project) 选项,使用 ARM Executable Image 模版新建一个工程。

2、设置编译和链接选项

在菜单栏 Edit-DebugRel Settings 里进行设置。由于我们使用的是模拟机,设置汇编语言编译器 Assembler 的模拟处理器架构为Xscale;在 ARM Linker 中,选择 output 选项卡并选择 Linktype为 Simple 类型,确认 RO Base 为 0x8000,修改 RW Base 为0x9000。

3、 添加源程序文件

ARM 汇编程序源文件后缀名为.S 大小写均可。确保添加入当前工程复选框选上。

4、 编辑源程序代码

5、 编译汇编源代码文件

右击.S 文件,选择 Compile,如果没有成功会弹出错误和警告窗口。成功生成.O 目标代码文件。

6、 编译整个工程

选择 Project Make 进行整个工程的编译。可以在目录空间查看是否生成了映像文件.axf。

7、 确认调试目标设置

设置目标处理器型号。

8、 运行映像文件

如果 load image 是灰色,options -> configure target -> ARMUL(没有目标板)然后点 OK 就可以加载 AXF 文件了

9、 调试准备

在 AXD 中,打开各个观察窗口,做调试准备。选择 Processor Views Registers 选项,打开 ARM 寄存器显示窗口。调整窗口大小,使得Current 节点的 R0~R2 寄存器可见。选择 Processor Views Memory 选项,打开 ARM 存储器显示窗口。在 Start Address 输入框中输入准备查看的内存区域首地址 0x9000。

10、调试映像文件

打开调试窗口。为了便于调试,观察各个寄存器和存储器的变化情况。

11、运行程序观察记录结果

在 AXD 中,选择 Execute Step 选项,或者 F10 键,单步运行程序,查看相关寄存器和存储器相应地址上的变化。

按下F10

寄存器地址变化:

r0

r1

r2

0x00000000

0x00000000

0x00000000

0x00000000

0x00000001

0x00000001

0x00000001

0x00000001

0x00000002

0x00000003

0x00000002

0x00000003

0x00000003

0x00000006

0x00000003

0x00000006

0x00000004

0x0000000A

0x00000004

0x0000000A

0x00000005

0x0000000F

0x00000005

0x0000000F

0x00000006

0x00000015

0x00000006

0x00000015

0x00000007

0x0000001C

0x00000007

0x0000001C

0x00000008

0x0000001C

0x00000008

0x00009000

存储器地址变化:

Address

0

1

2

3

4

5

6

7

8

9

a

b

c

d

e

f

0x00009000

10

00

FF

E7

00

E8

00

E8

10

00

FF

E7

00

E8

00

E8

1C

00

00

00

00

E8

00

E8

10

00

FF

E7

00

E8

00

E8

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值