arm开发环境实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM开发环境实验
实验目的
了解ADT IDE集成开发环境。
了解ADT IDE集成开发环境中基本的工程设置及程序编译方法。
掌握ADT IDE集成开发环境中基本的程序调试方法。
实验内容
熟悉ADT IDE集成开发环境。
建立一个基本的leddemo工程。
设置并编译leddemo工程。
调试leddemo工程。
基础知识:
本实验以leddemo程序为例,讲述在ADT IDE集成开发环境下,怎么编写、编译和调试程序。关于ADT IDE的更加详细的说明,可以参考ADT IDE用户手册。
1.连接调试器
本实验箱使用内置的简易调试模块,将计算机并口与实验箱简易JTAG接口通过并口延长线实现连接,并将JP5跳线通过跳线帽短接。
2.编辑编译调试。
建立工程。打开ADT IDE,选择菜单项File->New,弹出New对话框。
选择Project页,在Project页中选择调试设备。对于本实验箱使用简易调试器,选择ARM9SIMPLE。在Project name和Location编辑框中输入工程名称和路径,注意路径和工程名中不能包含空格。在Project type中选择EXEC。
新建一个文件并保存为d:\leddemo\leddemo.c,编辑该文件,添加如下代码:
/***************************************************************** ***********/
/*文件名称:LEDSEG7.C */
/*实验现象:数码管依次显示出0、1,2、……9、a、b、C、d、E、F */
/***************************************************************** ***********/
#define U8 unsigned char
unsigned char seg7table[16] = {
/* 0 1 2 3 4 5 6 7*/
0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,
/* 8 9 A B C D E F*/
0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, };
void Delay(int time);
/***************************************************************** ***********/
/* 函数说明: JXARM9-2410 7段构共阳数码管测试*/
/* 功能描述: 依次在7段数码管上显示0123456789ABCDEF */
/* 返回代码: 无*/
/* 参数说明: 无*/
/***************************************************************** ***********/
void Test_Seg7(void) {
int i;
//to do
}
/***************************************************************** ***********/
/* Function name : 循环延时子程序*/
/* Description : 循环'time' 次*/
/* Return type :void */
/* Argument : 循环延时计数器*/
/***************************************************************** ***********/
void Delay(int time) {
int i;
int delayLoopCount=1000;
for(;time>0;time--);
for(i=0;i } 请注意代码中的红色字体为需要添加自己编写代码的地方,需要添加完整。将leddemo.c文件加入到leddemo中,在新建工程的名字下展开,选择add files to folder,选择d:\leddemo\leddemo.c文件。 新建一个文件并保存为d:\leddemo\ldscript,编辑该文件,添加如下内容:SECTIONS { . = 0x30000000; .text : { *(.text) } Image_RO_Limit = .; Image_RW_Base = .; Image_RO_Base = .; Image_RW_Limit = .; .data : { *(.data) } .rodata : { *(.rodata) } Image_ZI_Base = .; .bss : { *(.bss) } Image_ZI_Limit = .; __bss_start__ = .; __bss_end__ = .; __EH_FRAME_BEGIN__ = .; __EH_FRAME_END__ = .; PROVIDE (__stack = .); end = .; _end = .; .debug_info 0 : { *(.debug_info) } .debug_line 0 : { *(.debug_line) } .debug_abbrev 0 : { *(.debug_abbrev)} .debug_frame 0 : { *(.debug_frame) } } 该文件为链接定位脚本文件,该文件需要通过工程设置对话框设置到链接参数才有效。 工程设置方法,右击工作区窗口中的leddemo工程名,选择setting菜单项。弹出工程设置(Project settings)对话框,选择Link页,在Link script 中输入“.\ldscript”,然后单击ok。 最后右击工作区窗口中的leddemo工程名,选择build菜单项。编译成功后链接仿真器到实验箱的JTAG接口,并将实验箱上电,然后选择菜单项debug->remote connect进行链接。如果连接正确,则debug菜单项中灰色不可用的按钮变成可用。 在选择菜单项debug->downlaod,下载程序到SDRAM中。 下载成功后,将显示入口点的源代码。选择菜单项debug->go,运行程序。若运行正常则6个数码管将显示16进制数。 选择菜单项debug->stop停止运行程序。 Debug->remote disconnect 0x10000004 数码管数据端口地址 0x10000006 数码管片选地址 实验步骤: 阅读实验指导教程,按照提示动手做一个leddemo工程。 编译leddemo工程。 调试leddemo工程,学习使用step into、step over 和step out等调试功能。