版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南京信息工程大学《中国文化通论》2023-2024学年第一学期期末试卷
- 公司业务转移协议
- 2024国有资产优化配置划转协议
- 安徽省亳州市2024-2025学年上学期八年级数学期中测试卷(无答案)
- 住宅建筑与可持续发展考核试卷
- 创业空间的创业生态与大数据应用考核试卷
- 2024年国家普通话水平考核测试标准试卷(共20套)
- 内陆养殖的循环农业技术与机械装备考核试卷
- 固体饮料行业的未来发展趋势考核试卷
- 南京信息工程大学《系统工程学》2021-2022学年第一学期期末试卷
- 2018年人教版九年级英语单词表
- 成语故事课件一诺千金
- 物业公司环境因素清单
- 国内旅游出团通知书(新版)
- 赶工措施费申请报告
- 订单协调管理流程
- 全桥逆变电路滤波电路设计步骤
- 蒲公英总黄酮的提取及其抑菌性能
- 4gl语言开发原则及规范--简化版
- 工程量确认单样本(管线)
- 区最新关于生活垃圾分类工作推进会上的讲话稿
评论
0/150
提交评论