arm开发环境实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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等调试功能。

相关文档
最新文档