arm汇编及接口设计-实验报告

arm汇编及接口设计-实验报告

ID:21537461

大小:64.07 KB

页数:6页

时间:2018-10-22

arm汇编及接口设计-实验报告_第1页
arm汇编及接口设计-实验报告_第2页
arm汇编及接口设计-实验报告_第3页
arm汇编及接口设计-实验报告_第4页
arm汇编及接口设计-实验报告_第5页
资源描述:

《arm汇编及接口设计-实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《ARM汇编与接口设计》实验报告学生姓名:学号:专业班级:指导教师:完成时间:实验1ARM汇编与S3C6410接口设计一.实验目的熟悉裸板开发环境构建,掌握利用ADS开发工具或arm-linux-gcc幵发工具编写裸板系统下程序的基本步骤和方法,掌握裸板程序的基本架构,熟悉汇编设计的基本指令和伪指令的使用方法,掌握S3C6410接口开发基本方法和步骤,并编程设计LED流水灯和看门狗程序设计。深刻体会软件控制硬件工作的基木思路和方法。二.实验内容实验1.1熟悉ADS开发:L具或交叉编译器arm-linux-gcc的安装和基本使用实验1.2LED流水灯实验实验

2、1.3看门狗实验三.预备知识C语言、微机接口等.实验设备及工具(包括软件调试工具)硬件:ARM嵌入式开发平台、PC机PentiumlOO以上、串口线。软件:WinXP或UBUNTU开发环境。五.实验步骤5.1ADS开发工具安装和使用步骤:第一步,ADS工具安装在_A_(A.WINDOWS平台B.linux平台)下,按照类似于VC++幵发工具的使用方法和步骤来进行使用。第二步,利用ADS打开demo项目模板,查看ADS中配罝中儿个重要选项,第三步,参照demo项目代码结构,编写裸板程序完成两整数加和两整数减函数,//init.S分别用C代码实现,写出完成汇编

3、启动代码和C代码。//Main.cintaddfun(inta,intb)AREAinit,CODE,READONLY{returna+b;IMPORTMain}intsubfun(intajntb)ENTRY{returna-b;MOVR13,#0X5000;设貫栈}intMain()BLMain;跳转到C入口{inta,b;ENDa=ll;b=22;addfun(azb);$ubfun(a,b);rpfnrn0-第四步用ADS自带的ARM模拟器调试上述代码,查看调用AddFun的汇编代码,可以看到变量a和变量b被编译器优化到寄存器n、rO十,函数返回汇

4、编语句为_MOVPC,R14_,在这条语句中分别用到寄存器rl4、pc。5.2arm-linux-gcc编译工具安装和使用第一步:arm-linux-gcc开发工具安装于B(A.WINDOWS平台B.linux平台)下,按照类似于gcc开发工具的使用方法和步骤来进行使用。第二步:参看相关实验样例,一般基于arm-linux-gcc编译的裸板程序通常包含汇编启动代码文件,C功能代码文件和make工具文件Makefile。5.3LED流水灯设计实验本实验要求使用arm-linux-gcc编译。备注,控制LED1的GPIO口为GPM0步骤1:编写代码参看相关实验

5、样例,编写LED1报警灯代码,实现LED1以1秒左右的时间进行闪烁,要求LED驱动代码编写在leddrv.c中,功能代码编写在main.c文件中,启动代码文件和Makefile文件参照实验样例代码来设计。则启动代码文件内容:#ifndef_LEDDRV_H#define_LEDDRV_HvoidLedConfig(void);voidiLedOn(unsignedintiLed);voidiLedOff(unsignedintiLed);#endif驱动层leddrv.c文件内各:include"leddrv.h"#definerGPMCON*((vola

6、tileunsignedlong*)0x7F008820)#definerGPMDAT*((volatileunsignedlong*)0x7F008824)#definerGPMPUD'(volatileunsignedlong*)0x7F008828)/*功能:配置GPMO〜5/GPQO〜1为输出口参数:无返回值:无*/voidLedConfig(void){rGPMPUD=(2«10)

7、(2«8)

8、(2«6)

9、(2«4)

10、(2«2)

11、(2«0);rGPMCON=OXllllll;}/*功能:点亮第i个LED灯参数:无符号整型变S:iLed,表示第i个

12、LED灯返回值:无7voidiLedOn(unsignedintiLed){if(iLed>=6)return;rGPMDAT&=~(l«iLed);/*功能:熄灭第i个LED灯参数:无符号整型变量iLed,表示第i个LED灯返回值:无*/voidiLedOff(unsignedintiLed){if(iLed>=6)return;rGPMDAT

13、=l«iLed;}功能层main,c文件内界://本程序完成LED报警灯流水效果,S3C6410处理器,无OS下运行//时间://作者://email:include"leddrv.h"//延吋voiddelay

14、(){volatileinti=0x100000;while(i-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。