欢迎来到天天文库
浏览记录
ID:10892495
大小:1.20 MB
页数:21页
时间:2018-07-08
《南邮嵌入式系统b实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、南京邮电大学通信与信息工程学院实验报告实验名称:基于ADS开发环境的程序设计嵌入式Linux交叉开发环境的建立嵌入式Linux环境下的程序设计课程名称嵌入式系统B班级学号姓名开课时间2013/2014学年第2学期实验一基于ADS开发环境的程序设计一、实验目的1、学习ADS开发环境的使用;2、学习和掌握ADS环境下的汇编语言及C语言程序设计;3、学习和掌握汇编语言及C语言的混合编程方法。二、实验内容1、编写和调试汇编语言程序;2、编写和调试C语言程序;3、编写和调试汇编语言及C语言的混合程序;4、编写程序测
2、试多寄存器传送指令的用法。三、实验原理ADS全称为ARMDeveloperSuite,是ARM公司推出的新一代ARM集成开发工具。它用于无操作系统的ARM系统开发,是对裸机(可以理解成一个高级单片机)的开发。ADS有极佳的测试环境和良好的侦错功能,它可使硬件开发者更深入地从底层去理解ARM处理器的工作原理和操作方法,为日后自行设计打基础,为BootLoader的编写和调试打基础。其中的开发环境由CodeWarriorIDE和AXDIDE组成,前者用于提供一个简单通用的图形化用户界面用于管理软件开发项目,后
3、者AXD通常用于调试,默认打开的目标是ARMulator,这是调试时最常用的一种调试工具。这部分开发过程分成以下几个步骤:1、在CodeWorriorIDE下新建一个Project;2、再新建一个Files用于写代码,后缀可以区分是C代码或者是汇编代码;3、将编好的代码保存并添加进项目,并进行必要的DebugRelSettings设置;4、用make命令对项目进行编译和链接;5、将生成的映像文件(工程名.axf)用AXDIDE打开,进行调试。二、实验过程与关键代码分析实验过程:1、新建名为q1101032
4、0的项目;2、编写汇编程序并添加至项目,汇编程序编了一个阶乘的程序,将在后面进行汇编语言和C语言混合编程中用到;3、编写C语言程序并添加至项目,程序通过调用汇编程序实现输出1!+2!+3!+......+10!的结果,见下截图;1、进行DebugRelSettings的设置,并使用make对项目进行编译和链接;2、用AXD打开make生成的映像文件(q11010320.axf),进行调试并且得出正确结果,见下图。关键代码:C中:externintfactorial(intn);inti,sum=0;for
5、(i=1;i<11;i++){sum+=factorial(i);}汇编中:factorialsMOVR2,R0;R2当计数器MOVR1,#1;初始化R1MOVR3,#1;初始化R3loopCMPR1,R2;确定阶乘次数BHIoverMULR0,R3,R1;一次乘法操作MOVR3,R0;乘一次的结果给R3做下一次的乘项ADDR1,R1,#1BloopoverMOVPC,LREND五、实验小结通过这次实验熟悉了ADS开发环境的使用以及CodeWarriorIDE和AXDIDE软件的操作,掌握了在ADS环境下
6、的汇编语言及C语言程序设计的方法,同时在机器上跑了自己写的代码,发现理论和实际还是有差距,一点很小的问题就使得代码无法成功编译,比如循环操作的loop和over必须定格写,开始没有注意这个,代码就一直编译出错,后来改正后就成功得到了结果,这让我体会到细节的重要性。实验二嵌入式Linux交叉开发环境的建立一、实验目的1、掌握嵌入式Linux交叉开发环境的建立方法2、学习和掌握Linux常用命令3、学习和掌握vi编辑器的使用二、实验内容1、搭建嵌入式Linux交叉开发环境2、熟悉Linux的常用命令3、熟悉v
7、i编辑器的常用命令三、实验原理在嵌入式系统开发时,由于嵌入式目标系统的资源有限,无法建立复杂的开发平台,所以通常将开发平台与运行平台分开。开发平台建立在硬件资源丰富的PC或工作站上,成为宿主机。应用程序的编辑、编译、链接等过程在宿主机上完成,得到可执行文件。应用程序的最终运行平台是和宿主机有很大的差别的嵌入式设备。四、实验过程与关键代码分析1、宿主机的环境搭建实验中在Windows系统上安装VMWare虚拟机,再在虚拟机上安装REDHAT-Linux操作系统。2、虚拟机中启动Linux操作系统登陆操作系统
8、,用户名root,密码12345678,这时的开发主机就是一个具有双操作系统的机器,对文件和目录的大部分操作可以在熟悉的windows系统下完成,只有代码生成等和Linux系统直接相关的工作才必须在Linux下完成。3、开发工具软件的安装在宿主机上需要建立适合于目标机的交叉编译环境。交叉编译环境的建立最重要的就是要有一个交叉编译器。本次实验用到的编译器是arm-gcc,它是GCC的ARM改版。GCC工具链中通常包含GNUBin
此文档下载收益归作者所有