微机原理与嵌入式系统基础实验文档格式.docx

上传人:b****6 文档编号:18261289 上传时间:2022-12-14 格式:DOCX 页数:56 大小:37.92KB
下载 相关 举报
微机原理与嵌入式系统基础实验文档格式.docx_第1页
第1页 / 共56页
微机原理与嵌入式系统基础实验文档格式.docx_第2页
第2页 / 共56页
微机原理与嵌入式系统基础实验文档格式.docx_第3页
第3页 / 共56页
微机原理与嵌入式系统基础实验文档格式.docx_第4页
第4页 / 共56页
微机原理与嵌入式系统基础实验文档格式.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

微机原理与嵌入式系统基础实验文档格式.docx

《微机原理与嵌入式系统基础实验文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与嵌入式系统基础实验文档格式.docx(56页珍藏版)》请在冰豆网上搜索。

微机原理与嵌入式系统基础实验文档格式.docx

3

第1章ADS1.2IDE工具简介

1.1ADS1.2简介

ARMADS全称为ARMDeveloperSuite,是由ARM公司提供的专门用于ARM处理器

应用开发和调试的综合性工具软件。

目前使用的ADS1.2版本是一款功能强大的开发工具和

易于使用的集成开发环境(IntegratedDevelopmentEnvironment,IDE)。

它可以安装在Windows

NT4,Windows2000,Windows98,Windows95,WindowsXP和WindowsMe等操作系统。

ADS主要包含CodeWarriorIDE、AXD两部分;

①CodeWarriorIDE工具主要用于工程的管理配置、源程序的编辑、编译和链接;

嵌入

式系统开发人员在此环境中,用C、C++或ARM汇编语言编写ARM和Thumb处理器源程

序,将源代码文件、库文件、其他相关的文件以及编译环境设置等组织在一个工程中,并可

以设置生成在SRAM调试(DebugInSRAM)、在Flash调试(DebugInFLASE)或发布版

(RelInFLASH)等不同的生成目标。

各生成目标在同一个工程中共享源文件、库文件等,

便于用户在不同开发阶段的使用。

工具界面参见图1-1。

图1-1CodeWarriorIDE视窗

②AXD主要用于工程的下载和调试。

嵌入式系统开发人员使用此工具软件可以对用户

程序进行诸如断点的设置与清除、程序运行控制、单步执行、寄存器数据监视和变量的查看

等调试操作。

另外,AXD挂接在CodeWarriorIDE中,用户可在CodeWarriorIDE中直接点

击启动AXD,调试用户程序;

也可以单独启动AXD,加载、调试用户代码。

工具界面参见

图1-2。

4

图1-2AXD视窗

1.2ADS1.2集成开发环境练习

1.实验目的

学习ADS1.2集成开发环境的使用方法。

2.实验设备

􀁺

硬件:

PC机一台

软件:

Windows98/XP/2000系统,ADS1.2集成开发环境

3.实验内容

(1)ADS的启动;

(2)使用asmforlpc2131工程模板,建立一个新的工程。

(3)在模板文件main.S文件中,加入用户汇编代码。

(4)编译链接工程。

(5)调试工程。

(6)学习ADS工具的使用。

4.实验预习要求

阅读《ADS集成开发环境及仿真器应用》文档或其它相关资料,了解系统调试技术,

了解ADS、AXD的基本功能。

5.实验步骤

①启动ADS1.2IDE集成开发环境。

5

图1-3启动ADS

②在ADS主窗口主菜单选择File->

New,使用asmforlpc2131工程模板建立一个工程

(图例中工程名称为:

ZQL_LIB1),指定工程路径(图例中工程路径为

D:

\ARM_Lib_Bak\ARM_asm)。

图1-4使用模板在ADS中创建工程

③点击确认<

按钮>

,创建工程。

④在ZQL_LIB1工程窗口,双击模板文件main.S,打开该文件。

图1-5ADS工程管理器

⑤可在主窗口菜单选择Edit->

Perferences,设置字体和字号。

⑥在main.S文件编辑窗的“addtheusercodehere.添加用户代码”行下建立用户汇

编程序代码。

可选用的工程模

板列表

6

图1-6ADS视窗的主要组成

⑦选择Project->

Make(或快捷键<

F7>

),编译链接整个工程。

若编译成功,则Erros&

Warnings对话框会报告编译错误为0,此时即可对工程进行仿真。

图1-7ADS主菜单

在此处添加用户代码

用户代码编辑窗

用户工程窗

ADS窗口

主菜单

ADS窗口工具条行

7

图1-8ADS编译报告窗口

⑧选择Project->

Debug(或快捷键<

F5>

),IDE环境就会启动AXD调试软件。

图1-9从ADS中启动AXD

编译报告窗口

8

图1-10AXD工具窗口的主要构成

6.调试方法

①单步运行;

在AXD调试器主窗口,选择Execute->

Step(或快捷键<

F10>

),处理

器执行一行代码;

②设置断点;

在AXD调试器“代码调试窗口”双击目标代码行,若出现红色实心圆

点,则表示断点设置成功;

然后选择Execute->

Go全速运行,处理器执行程序停止

在断点行;

③运行到光标行;

在AXD调试器“代码调试窗口”单击选择目标代码行,然后在AXD

调试器主窗口,选择Execute->

RuntoCursor运行到光标处;

通过断点调试可以观察

ARM寄存器和存储单元的数值变化,具体操作方法在后面的实验中会作详细介绍。

AXD寄存器窗口,

可点击打开各模式

寄存器集

AXD内存显示窗口

蓝色箭头指向当前待执行指令

执行控制工具图标

9

图1-11AXD工具调试用户代码与查看内存

7.思考

(1)工程模板有哪些作用?

(提示:

对照VCStudioIDE。

(2)如何强行重新编译工程的所有文件?

选择Project->

RemoveObjectCode删

除工程中的*.obj文件。

AXD调试窗口

AXD调试代码窗口

指定显示内存的地址空间

10

第2章ARM指令系统及运算基础实验

2.1二进制数加减运算

了解ADS1.2集成开发环境及ARMulator软件仿真。

掌握ARM7TDMI常用汇编指令的用法,并能编写简单的汇编程序。

学习使用LDR/STR/ADD/SUB指令完成存储器的访问及二进制数据加减运算。

领会处理器进行数据处理的方式原理。

(1)使用LDR指令读取Data1、Data2数据,完成两数相加/减,将结果写入到Data3单

元。

(2)使用ADS1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor

Registers)监视R0和R1的值,打开存储器观察窗口(Memory)监视Data1、Data2和Data3

存储单元的值。

学习ADS工程编辑和AXD调试工具的使用,二进制运算,处理器运行原理。

①启动ADS1.2IDE集成开发环境,选择asmforlpc2131工程模板建立一个工程

TEST2。

②在模板文件main.S中,补加用户代码,编写实验程序,保存。

③选择主窗口菜单Project->

Make(或直接快捷键<

),联编工程;

④联编无错后,选择主窗口菜单Project->

Debug,启动AXD进行软件仿真调试。

⑤注意首次使用AXD时,需要设置AXD仿真环境,AXD主菜单:

选择

Options->

ConfigureTarget…,打开ChooseTarget窗口,并在其中选择:

ARMUL仿

真器;

方法如下图示:

备注:

ARMUL仿真器是AXD环境下的软件仿真器,在PC机上仿真了ARM处理器的

执行情况;

可用于软件算法调试,不能仿真硬件外设系统。

11

图2-1为AXD配置仿真环境

图2-2配置AXD使用软件仿真

⑥打开寄存器窗口(Registers),选择Current项,监视R0、R1和R2的值。

打开存储

器观察窗口(Memory)设置观察Data1、Data2和Data3单元值,显示方式Size为

32bit。

6.实验参考程序

Data3=Data1+Data2运算汇编指令实验1的参考程序见程序清单2-1

程序清单2-1汇编指令实验1参考程序

AREAExample1,CODE,READONLY;

声明代码段Example1

配置AXD目标

配置AXD使用

ARMUL软件仿真器

12

ENTRY;

标识程序入口

CODE32;

声明32位ARM指令

STARTLDRR11,=Data1;

R11<

=address(Data1)

LDRR0,[R11];

R0<

=Data1

LDRR11,=Data2;

=address(Data2)

LDRR1,[R11];

=Data2

ADDR2,R1,R0

LDRR11,=Data3;

=address(Data3)

STRR2,[R11];

[R1]<

=R2,即设置COUNT为0

HALTBHALT

Data1DCD0x12345678

Data2DCD0x87654321

Data3DCD0x00

END

Data3=Data2-Data1运算汇编指令实验2的参考程序见程序清单2-2。

程序清单2-2汇编指令实验2参考程序

SUBR2,R1,R0

STRR2,[R11];

(1)LDR伪指令与LDR加载指令的功能和应用有哪些区别,举例说明?

LDR

伪指令的形式为“LDRRn,=expr”。

(2)LDR/STR指令的前索引偏移指令应如何编写?

指令是怎样操作的?

(3)在AXD调试是如何复位程序?

选择File->

ReloadCurrentImage重新加载映

像文件。

13

2.2带符号数的加减法运算

学习使用LDR/STR/ADD/SUB指令完成存储器的访问及带负号数的加减运算。

领会处理器进行数据处理的方式原理及符号数的表示与运算。

(3)注意观察“CPSR_标志位”的情况,领会CPSR标志位的工作情况与含义;

(4)注意观察符号数的计算机表示方式;

学习ADS工程编辑和AXD调试工具的使用,符号数的表示与运算,处理器运行原理。

(1)启动ADS1.2IDE集成开发环境,选择asmforlpc2131工程模板建立一个工程TEST2。

(2)在模板文件main.S中,补加用户代码,编写实验程序,保存。

(3)选择主窗口菜单Project->

(4)联编无错后,选择主窗口菜单Project->

(5)打开寄存器窗口(Registers),选择Current项,监视R0、R1和R2的值。

器观察窗口(Memory)设置观察Data1、Data2和Data3单元值,显示方式Size为32bit,

注意观察CPSR寄存器中的各标志位的情况。

Data3=Data1+Data2运算汇编指令实验1的参考程序见程序清单2-3。

程序清单2-3汇编指令实验3参考程序

INCLUDELPC2294.INC;

Includetheheadfile引入头文件

;

声明MAIN函数

ExportMAINfuncton

EXPORTMAIN;

MAINFunction主程序

CODE32

AREAmain,CODE,READONLY;

14

ENTRY;

MAIN

addtheusercodehere.添加用户代码

LDRR11,=Data1;

ADDSR2,R1,R0

Data1DCD-18

Data2DCD6

Data3DCD0

Data3=Data2-Data1运算汇编指令实验4的参考程序见程序清单2-4。

程序清单2-4汇编指令实验4参考程序

SUBSR2,R1,R0

15

Data1DCD0x87654321

Data2DCD0x12345678

(1)模拟32bit处理器对带符号数(63)+(-65)在计算机中的表示与运算。

(2)参考程序清单中关于加减法指令,如果不加S后缀的话,对CPSR会有什么影响?

2.3简单分支程序设计

掌握ARM条件执行指令的使用方法,学习分支程序设计。

加深领会处理器可以自动区分情况进行数据处理的方式原理。

使用条件执行指令编写完成下述C代码功能的分支程序。

if(x==y)z=a+b;

elseif(x<

y)z=a–b;

elsez=b–a;

分支程序设计,ARM指令条件执行等相关知识。

①启动ADS1.2IDE集成开发环境,选择asmforlpc2131工程模板,建立工程TEST3。

②在模板文件main

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1