arm实验报告流水灯.docx
《arm实验报告流水灯.docx》由会员分享,可在线阅读,更多相关《arm实验报告流水灯.docx(19页珍藏版)》请在冰点文库上搜索。
arm实验报告流水灯
实验六ARM环境下汇编语言与C语言实验
一、实验目的
1掌握基本的ARM汇编语言和C语言编程方法
2掌握ADS下C语言和汇编语言互相调用的方法
3深入理解ARM开发环境的体系结构
4初步掌握S3C2410的I/O口德操作方法
5巩固使用AXD和Multi-ICE调试的方法
二、实验内容
1单独使用ARM汇编语言编写一个程序,在AXD下调试,观察结果。
2采用内嵌汇编和C完成一个工程在AXD下调试,观察结果。
3用C语言实现跑马灯功能。
三、实验设备
1硬件:
DM2410B+实验系统PC机JTAG仿真器串口线
2软件:
PC机操作系统ARMDeveloperSuiterv1.2Multi-ICEv2.2.5(Build1319)DNW2410(或超级终端)
四、实验说明
汇编语言程序实验程序
程序代码如下:
#include
#include"2410addr.h"
#include"2410lib.h"
//================================
//名称:
Led_Test
//功能:
LED循环显示
//参数:
void
//返回值:
void
//================================
voidLed_Test()
{
unsignedlongLED;
Uart_Printf("Led_Test.\n");
//GPBCONGPB10[21:
20]=01:
Output
//GPBCONGPB10[19:
18]=01:
Output
//GPBCONGPB10[17:
16]=01:
Output
//GPBCONGPB10[15:
14]=01:
Output
rGPBCON&=(~(0x3<<20));
rGPBCON|=((0x1<<20));
rGPBCON&=(~(0x3<<18));
rGPBCON|=((0x1<<18));
rGPBCON&=(~(0x3<<16));
rGPBCON|=((0x1<<16));
rGPBCON&=(~(0x3<<14));
rGPBCON|=((0x1<<14));
//GPBDATGPB[10:
0][10:
0]:
OutputData
rGPBDAT=0xf7f;
Delay(100);
Uart_Printf("PRESSANYKEYTOSTOP.");
while(!
Uart_GetKey())
{
LED=rGPBDAT;
LED=(LED<<1);//下一个灯亮
rGPBDAT=LED;
Delay(200);
if(!
(rGPBDAT&0x400))//保证第四个LED点亮后重新点亮第一个LED;
rGPBDAT=0xf7f;
Delay(200);
}
Uart_Printf("\nTESTFINISHED.");
}
//============================
//名称:
delay
//功能:
延迟指定时间
//参数:
x
//返回值:
void
//============================
voiddelay(unsignedintx)
{
unsignedinti,j,k;
for(i=0;i<=x;i++)
for(j=0;j<0xff;j++)
for(k=0;k<0xff;k++);
}
六实验步骤第一大部分(目标机的连接):
把开发板电源接口、Muilti-ICEEmbeded接口连接好,如下图,然后打开开发板电源。
第一步:
打开
第二步:
选择File的LoadConfiguration
第三步:
选择
第四步:
把文件里的内容修改一下,把里边的7改为9
第五步:
用记事本修改第四步所讲的内容
第六步:
即将里面的ARM7TDMI全部改为ARM9TDMI,其他不变。
第七步:
然后点文件,选择保存。
第八步:
把修改后的选中,点击打开
第九步:
打开之后,会出现如下图所示的画面。
说明宿主机找到ARM的CPU了,即宿主机与ARM目标开发板连接上了。
第二大部分(ADS软件的使用):
第一步:
打开
,打开效果图为下图
第二步:
将D:
\ARM\WINCE&ADS\ADS实验\跑马灯实验\实验代码下的
拖入上图中
其效果图为:
(本部分是利用已有的工程做的ADS应用实验,其他应用试验如法炮制;对于如何新建工程,详细步骤见实验一ADS开发环境试验)
第三步:
左击
如图标出的图标(即调试参数设置),效果图如下图所示
第四步:
选择TargetSettings,设置如下所示
第五步:
选择ARMLinker,设置如图所示,其中Scatter栏里的文件路径为:
试验程序路径下的scat文件(如图
)。
第六步:
选择ARMfromELF选项,具体配置如下图所示:
第七步:
最后,点击上图中的OK,调试配置参数就设置完成了。
出现的画面如下图
第八步:
单击如下图所示的按钮,即对程序进行Make操作。
Make操作之后的画面如下图所示:
第三大部分(调试部分):
第一步:
打开调试的软件AXDDebugger,打开方法如下图所示:
第二步:
打开调试软件的过程中,会出现如下画面,选择点击取消。
点击取消后会出现如下画面(即调试软件AXD的画面):
第三步:
配置目标板。
选择ConfigureTarget,画面如下所示:
第四步:
点击ConfigureTarget之后,会出现如下画面:
第五步:
选择如上图所示点亮的连接驱动(Muiti-ICE),点击OK。
调试软件就发现了目标板的ARMCPU。
如下图所示:
第六步:
下载镜像文件,点击如下图所示的按钮,然后选择试验程序下的调试文件。
下载实验程序LED的调试镜像文件。
下载镜像文件结束后的画面如下图所示:
第七步:
调试运行。
点击如下图所示的按钮两次,第一次点击执行初始化,第二次点击执行main应用程序。
开发板上的led灯循环点亮
七实验心得与体会
此次试验让我进一步了解了ADS实验环境的体系结构,了解了如何用C语言对I/O进行操作。