ARM嵌入式-ADS-1.2-集成开发环境练习实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业班级:
学号:
实验名称:
姓名:
实验所属课程:
实验室(中心):
指导教师:
实验完成时间:年月日
一、实验目的:
了解ADS 1.2 集成开发环境的使用方法。
二、实验设备:
1.硬件:PC 机一台
2.软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境
三、实验容:
1.建立一个新的工程;
2.建立一个C 源文件,并添加到工程中;
3.设置文本编辑器支持中文;
4.设置编译控制选项;
5.编译工程;
6.调试工程。
四、实验预习要求:
仔细阅读产品光盘附带文档《ADS 集成开发环境及仿真器应用》或其它相关资料,了解ADS 工程编辑的容。
五、实验步骤:
1. 启动ADS1.2 IDE 集成开发环境,选择【File】->【New…】,使用ARM Executable Image 工程模板建立一个工程,工程名称为ADS,见图
2.1。
图2.1 建立ARM 指令代码的工程
2.选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中,见图2.2。输入如程序清单2.1 所示的代码,并保存,见图2.3。
图2.2 新建文件TEST1.S
程序清单2.1 TEST1.S 文件代码
AREA Example1,CODE,READONLY ; 声明代码段Example1
ENTRY ; 标识程序入口
CODE32 ; 声明32 位ARM 指令START MOV R0,#15 ; 设置参数
MOV R1,#8
ADDS R0,R0,R1 ; R0 = R0 + R1
B START
END
图2.3 添加了TEST1.S 的工程管理窗口
3. 由于ADS 安装以后默认字体是Courier New,对于中文支持不完善,因此建议修改字体。选择【Edit】->【Perferences…】,可以看见以下对话框,如图2.4 所示。在Font 选项设置字体是Fixedsys,Script 是CHINESE_GB2312 。由于Tab 在不同文本编辑器解释不同,建议在Tab Inserts Spaces 前打勾,使Tab 键插入的是多个空格。
图2.4 字体和Tab 设置
4. 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings 对话框的左边选择ARM Linker 项,然后在Output 页设置地址(见图2.5),在Options 页设置调试入口地址(见图2.6)。
图2.5 工程地址设置
图2.6 工程调试入口地址设置
5. 选择【Project】->【Make】,将编译整个工程。如果编译成功,见图2.7,Errors & Warnings 对话框会报告编译错误为0,那么就可以对工程进行仿真。
图2.7 编译错误和警告对话框
6. 选择【Project】->【Debug】, 或者按下快捷键F5。IDE 环境就会启动AXD 调试软件,见图2.8。
断点调试方法:首先设置断点,只需要在第 6 行灰色区域双击鼠标即可,如果出现红色实心圆点,那么表示断点设置成功,然后选择【Execute】->【Go】全速运行,可以发现程序停止在第6 行。还有一种比较方便的调试方法就是Run to Cursor,单击鼠标第8 行灰色区域,如果AXD 将第8 行高亮就表示设置成功,然后选择【Execute】->【Run to Cursor】运
行到光标,可以发现程序停止在第8 行。通过断点调试可以观察ARM 寄存器数值变化,具体的操作方法在后面的实验会具体介绍。
图2.8 AXD 调试窗口
六、思考题解答:
1. 工程模板的作用:ADS工程文件的设置比较复杂,不同的实验板、开发板由于硬件电路结构和资源不同,需要进行不同的设置,而对于同一实验板(或开发板),则其启动文件、ADS工程文件的配置及主要的初始化代码是相对固定的,因此可以把这些相关文件按一定方式组织起来,称为工作模板。在工程模板的基础上,可以很方便的在同一实验板(或开发板)上开发或编写不同的应用程序。
2. 强行重新编译工程所有文件的方法:在Project菜单中选择Remove Object
Code选项,然后重新Make编译就行了。
七、心得体会:
通过本次的实验,我基本了解了ADS 1.2 集成开发环境的使用方法,掌握了如何在ADS 1.2 集成开发环境下建立工程、添加C源程序到工程、环境的设置、编译的控制和工程调试的方法。同时也加强了对ARM7芯片存储器工作原理的了解,在实验中看到了相关存储器数值的变化,验证了实验程序的正确性,并且理解了一些ARM芯片中汇编语言的一些规则,收获甚大。