嵌入式开发环境搭建实验_第1页
嵌入式开发环境搭建实验_第2页
嵌入式开发环境搭建实验_第3页
嵌入式开发环境搭建实验_第4页
嵌入式开发环境搭建实验_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、合肥学院嵌入式系统设计实验报告(2013-2014第2学期)专业:实验项目:嵌入式开发环境搭建实验实验时间:2014年4月28日实验成员:指导老师:电子信息与电气工程系2014年4月制、实验目的1、了解嵌入式开发的软件工具2、虚拟机VM的安装3、ubuntu操作系统的安装4、Linux下配置TFTP5、配置NFS服务6、实现简单应用程序开发二、实验内容首先安装VMware虚拟机,一步一步,比较简单,接着安装ubuntu-10.04.4操作系统环境,搭建嵌入式交叉编译环境,配置TFTP服务和NFS服务,最后编写简单应用程序,并且会使用Makefile进行简化,尤其其对于大程序的优越性。三、实验设

2、备硬件:1、pc机软件:1、虚拟机(VMware)2、ARM的操作系统(ubuntu-10.04.4)四、实验过程1、虚拟机的安装下载虚拟机软件一步一步安装:VMvi/areWorkstationSetupEnterLicenseKey(optionial)You匚刁仃thisinformaticmlater.%License倒:(XXXXX-JOOOOC-XXm-XXm-JOOO)ZY38A-ADD87-H34RP-QZY7X-XPAZFEnterSkip我们选择了自定义安装,对一些设置进行了自定义:rNewVirtualMachineWizardChoosetheVirtualMachin

3、eHardwareCampatibilityWhichhardwarefeaturesareneededforthisvirtualmachine?VirtualmachinehardwareCBmpatibilityHardwareoannpatibility:Workstation6,5-7.xHelpCancelCompatiblewith:ESXServerCompatiblepraductE:Limitations:ACE25-2.732GBm亡moylimit*ESX4.K8processorlimitFusion2.x10networkadapterlimitFusion3.k2

4、TBdisksizelimitServer2.xWorkstation6.5Workstation7jeT同意我们也设置了密码,有利于安全:512MEBridgedMemory:NetworkAda.OtherDevices:NewVirtualMachineWizardReadytoCreateVirtualMahineClick.Finishtocreatetievirtualmachineandstart:instailingUbuntuandthenVMwareTools.Thevirtualmachinewillbecreatedwithth已followingsettings:Op

5、e-rsting&y.UbuntuHardDisk:20GBCD/DVD,Floppy,USBControllerPrinterSoun.CustomizeHardware.FTPoveronthisvirtualmachineaftercreationBackFinishCancel以上使我们的操作系统配置,由于不会有很多的内存需要,我们还是多设置了一些。UbuntuWorkrtartianI旦.回呈&系统配置过程中:JUbuntu-VlawvkVarkiialicfiAteEdtlW旳VMTesn円MewHdpUtuMux110討妙必也口目口|同回(B力缔Sidebarx日APcwrdOn

6、母1LfcurtuFjfcrilni母Wirdcw.XProaikTlwnk卯珂rIraji-TndrvdtiruiI口4inslWl.EfickinaidarprmCtirl+右.1RjwvinarfrtrtiAMihrti.Ubuntu已经安装成功。2、搭建嵌入式交叉编译环境:Lfaunlu-VMauivFitEdkVi艸VMTwmWnckwrsHe如園百3廊AB直口且QI回團$半3*母Uhuilu3FvrarfeiiSl*AinJowaJiPProfniini母Ubuilu羽gkaMonsiKes年1颐电闸|暫曾SunApr27r855iQlnaxuehuwxesTjinXuehbCHi

7、cumenfts辛帕e:460nuifiRiiES-il*H-1-hwSiRif105ViewgBMKlTVh聒HelpjamazutfiuW曲Op_jRfeSyterriiiNerwwkFloppyDdye=7fssh/Doct=yopt?FriendlyARM/toolschain/4.4.3/am-none-ltnux-gnueabi/sys-root-enable-languages=c,C+-disable-multilib-with-arch=anrv4t-with-cpu=arm9?0t-vith-tune=arni9?flt-with-fLoat=scift-with-pkgv

8、ersion=ctng-1.6.1-disable-sjIj-exceptions-enable-_cxa_atexit-withgmp=/opt/FriendL/ARM/toolscriainM.4.5-with-mpfr=/opt/FriendlyARM/toolschain/4.4.3-with-ppl=/opt/FriendlyARM/taolschain/4.4.左-with-clDog=7Dpt/FriendlyARM/tQQlschain/4.4.3-with-mpc=/opt/FriendlyARJ1/toolschain/4.4.3-with-local-prefix=Zop

9、t/FriendlyARJ1/tDolsctiain/4.4.3/arm-none-Linux-gnueabiX/sys-root-disable-nls-enable-threads=posix-enable-symvers=gnu-enable-c99-enable-lDng-long-enable-t目gut-optsp&t亡Threadmodel:posixgccversion4.4.3(ctng-1.6.1)rootsubuntu:-!I也r&otubuntu;3、Linux下配置TFTP:应用程序位置系紀魁予$H-羁5月北星期六上午5:33勺Qroot0椅应用程序位置系统?圏*4週

10、5月汨星期六上午5:46lxarootO$O0rootubuntu:tftpboot文件F)编辑巳亘看V)嬪端(T】帮助(H)正在解压端tftpd-hpa(M./tftpd-hpa5.0-llubuntu2.1Bftfi.deb).正在处理用于man-db的鼬发器.正在处理用于u储deh已剎的齟发器,ureadaheadwillbereprofiledornextreboot正在设置tftp-hpa(5.e-llubtntul.1).正在设宣tftpd-hpa(5.0-11ubuntL2.1).tftpd-hpastart/running,process2108rootubuntu:flsud

11、omkdir/tftpfcootmkdir:无法创建目录/tftpboot:文杵已存在rootubuntuaudochmod777/tftpbootrootubuntu:fisudogedit/etc/default/tftpd-hparootubun七口:“耳audoservicetftpd-hparestarttftpd-hpastart/running,process2148rootubuntu:tfcd/tftpbootechohellotftpserviceHa.txtrootubuntu:7tftpbootSechohellotftpserviceHputtotftpservice

12、Hb.txtrootubuntu:7tftpbootfitftplocalhosttftp?geta.txttftpputL.txtErrorcode8:Permissiondeniedatftp.出合月呼院portal陆-曰rootubuntu:/tftpboot心应用程序位宣頁统刁S-遷阴汨星期六上午5:4了mQroot心应用程序位宣頁统刁S-遷阴汨星期六上午5:4了mQroot应用程序位置系紀魁予$H-羁5月北星期六上午5:33勺Qroot0SOOrootubuntu:ytftpboot文件(F)骗辑(E)查看(V)终端(T)帮助(H)正在处理用于man-db的触境器.正在处理用于uiv

13、adah已扣的軸发器.ureadaheadwillbereprofiledonnextreboot正在设置tftp-hpa(5.0-11ubuntu?.1.正在设置tftpd-hpa(5.0-11ubuntu2.1).tftpd-tipastarr/running(process2108geta.txtputAtxrcod已0:Permissiondeniidquitrootubuntu;#5udomkdirFtftpbootmkdir:无法创建目录/tftpboot:文件已存在rootubuntu:ffsudochmod777Jtftpbooi:rootflubuntu:fisudogedi

14、t/etc/default/tftpd-hparootuhuntu:flsudoservicetftpd-hparestart七壮pd-hpastart/running(process2148rootubuntu:ffcd/tftpbootechohellDtftpservicea.txtrootubuntu:/tftpboot#echohellotftpservice,puttotftpserviceb.txtrootubuntu:/tftpbootftftpLocalhosttftptftpoErrortftprootubuntn:/tftpboot*电【合肥学portal登陆-0root

15、ubuntLi:/tftpboot4、配置NFS服务:合肥学瞬portM豊陆-Brootubuntu;-/mas应用程序位置系紀魁予$H-羁5月北星期六上午5:33勺Qroot0战应m幣位置系坑M?圏*4酒5月9日星朋乔上午6:04f*aroot$0exports(/etcJ-geditg、F娠恬E.舍看M吏盍i勺_貝订;華肚iHJJ&打卄*三加凰玄酔6I一exportsX/etc/exports/opt/nfs|*(r,sync,nD_root_squash):theaccesscontrollistfurfilesysteniwhichntm#beexportedtoNFSclients.

16、Seeexports(5).tExampleforNFSv2andNFSv3:/srv/hameshostnamel(rur,syn匚,no_LilTtrEE_checl0liatnaniez(rDpsync.nosubtree_check)fExampleforNFSv4;/srv/nfs4gss/krtiirun,sync,fsid=s,cr(Eiinl:,iit_MLJtrl:rEE_tliEtk)/srv/nfs4/honiesgss/krb5irwpsync.no_$LJb1:E3E_chE:k丨t吐林兌玄:yt讦l,.NLb洽比节隠porfel(3rDDtubuntu:-Eexpo

17、rts(fete-合肥学瞬portM豊陆-Brootubuntu;-/mas应用程序位置系紀魁予$H-羁5月北星期六上午5:33勺Qroot05、实现简单应用程序开发:梯咸用程序蝕系统*9圏*0酒5月m日星期六上午6:14tl,Qroot0皐0Grootubuntu;/max文件(F)编辑(巳査看壇端T)帮助H)Qincludecstdio.hImain()floataHb;printffinputtwoTntegernH):scanf(,&ai,&b);if(ab)printf(Ha);elsepriiirf(%fnb);return8;max.c12linesH162characters五

18、、实验小结本次实验主要是软件的安装与验证性的实验,自己搭建嵌入式开发环境,在实验中,我们初次体会了Linux下的操作环境,以前知识听过,却没有用过,而且我们也学会了虚拟机的安装,我不仅安装了ubuntu而且还装了windowsxp,对于一些32位软件的安装还是比较好的。本次实验中最令我印象深刻的就是错一字,全盘崩溃。又得重新来一次,既浪费时间,又影响我们的心情。但是就在这样的错误中我们学习的更加深刻。就如在交叉编译环境的搭建过程中,一个解压命令就出错了好多次,最后那条命令都没背出来了。当然我们经过长期的操作Linux,慢慢的也熟了一点,希望接下来的实验我们仍然可以很好的完成。六、思考题1、Ma

19、kefile是如何工作的?其中的宏定义分别是什么意思?答:makefile是一个文本文件,用于描述程序源代码之间以及程序可执行代码与源代码之间的依赖关系。为了方便使用不同的编译器或者编译环境以及硬件环境,一些复杂的软件使用了大量的宏定义来代替诸如“gcc”这样的最基本的东西2、Make和Makefile之间的关系?答:make一般主要被用来管理一个软件程序项目(用来完成大型软件的自动编译),但是它不仅仅可以用来管理软件程序,还可以做很多其他的事情,比如文件同步等。makefile是被make使用的“描述”文件,它描述要被make所管理的项目中的文件间的关系(比如对于一个C程序项目来说,.h文件

20、和.c文件之间的关系,.c和.0之间的关系等),和如何维护这个项目的状态(比如对于一个程序项目来说,就有编译可执行文件,产生文档,清除所有除源代码文件之外的文件等).3、GCC编译器的常用参数有哪些?它们的功能分别是什么?答:(1)、-O优化参数。后面可以跟数字表示优化级别-OO表示不优化,-O1,-O2,-O3优化程度依次递增。大部分平台最高级别是-O3,也就是说3以后的数字基本都没用。另外建议大家最高只用到-O2。大部分开源操作系统经过千锤百炼都是使用-O2参数编译的。优化级别开得太高对于调试不利。为了优化,编译器可能会打乱部分代码的顺序,造成我们单步跟踪的时候会发现在C源代码里乱跳。另外还有一个-Os表示为代码大小进行优化,用它可以生成尽量短小的机器码。应用程序位置系紀魁予$H-羁5月北星期六上午5:33勺Qroot0(2)、-E表示仅仅对代码进行预处理不编译。也就是仅仅将头文件包含和宏定义展开。如果没有用-o指定输出文件则将预处理结果输出到控制台上。(3)、-c表示仅仅汇编及编译代码,不进行链接。也就是将源代码编译成.o文件。(4)、-S表示仅仅汇编而不进行编译及链接。也就是将源代码翻译成汇编指令。gcc-S生成的文件阅读起来不如用objdump反编译.0文件生成的结果舒服。建议想分析汇编指令采用objdump命令反编译。(5)、-ofilen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论