关闭

关闭

关闭

封号提示

内容

首页 基于Qt和ARM的无线点菜系统软件设计.pdf

基于Qt和ARM的无线点菜系统软件设计.pdf

基于Qt和ARM的无线点菜系统软件设计.pdf

没文化的老者 2012-05-18 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报

简介:本文档为《基于Qt和ARM的无线点菜系统软件设计pdf》,可适用于IT/计算机领域,主题内容包含厦门大学硕士学位论文基于Qt和ARM的无线点菜系统软件设计姓名:吴鑫毅申请学位级别:硕士专业:机械电子工程指导教师:洪永强基于Qt和ARM的无线点菜符等。

厦门大学硕士学位论文基于Qt和ARM的无线点菜系统软件设计姓名:吴鑫毅申请学位级别:硕士专业:机械电子工程指导教师:洪永强基于Qt和ARM的无线点菜系统软件设计摘要随着国民生产生活水平的不断提升人们对餐饮消费的要求越来越高。而无线点菜系统能够提供更加快速、便捷、透明、卫生的餐饮条件对餐饮企业服务质量和管理效率的提高具有重要意义。本课题通过考察现有的电子点菜系统的解决方案研究一种无线点菜系统的软件设计。利用实验室已有的YLSBC开发板作为硬件载体综合应用WLAN、嵌入式Linux和Qt开发等技术以程序软件的通用性和易用性为方向构造能够方便应用到各种PDA系统的点菜终端程序和普通PC机的服务器软件实现无线点菜系统。主要包括以下研究内容:.构建嵌入式Linux系统开发平台。使用Ubuntu系统建立基本开发环境建立交叉编译工具安装配置NFS安装用于开发点菜终端程序的Qt包括Qt/Xl、x版Qt/Embedded、ARM版Qt/Embedded。.设计点菜终端程序。利用Qt设计器规划点菜终端程序的大致界面然后根据QtlEmbedded编程一般规则编写代码主要分为浏览器核心类和主窗口类的实现并在主程序中添加国际化和中文支持再通过NFS测试。.建立服务器网站。利用普通PC机WindowsXP作为网站服务器以IIS.建立ASP网站使用DREAMWEAVER和ACCESS进行网页开发主要包括登录管理、点菜导航、餐台使用、菜单列表、选单提交等功能页面。.调试和发布程序。在开发板原配内核及文件系统的基础上内核配置无线网卡支持根文件系统中添加点菜终端程序、库文件、无线网卡驱动和无线管理工具设置环境和启动脚本烧写入开发板后连接到WLAN发布运行程序。关键词:Qt点菜系统软件设计SoftwareDesignofWirelessOrderSystemBasedonQtandARMAbstractWiththecontinuousraiseofnationalproductandlivinglevelpeoplenowpaymoreandmoreattentionsonbetterqualityofcateringconsumption.Whilethewirelessordersystemcouldprovidemorerapidconvenienttransparentandsanitarycateringconditionswhichareconsideredtobethekeypointsforimprovementofcateringservicequalityandmanagementefficiency.Thissubjectdesignsthesoftwareofawirelessordersystemafteranalyzingtheexistingsolutionsofelectronicordersystem.Itfocusesonuniversalandeasyusepropertiesofthesystem’SsoftwareutilizestheexistingdevelopmentboardYLSBCandintegratesWLANLinuxandQttoconstructakindofwirelessordersystem’SterminalapplicationandremoteserversoftwarewhichcouldbeeasilyportedtovariousPDAandconlnlonPC.Themainresearchcontentsareasfollows:.ConstructingaplatformforembeddedLinuxsoftwaredevelopment.FistlyestablishthebasicdevelopmentenvironmentincludingacrosscompilerandNFSserverinUbuntu..TheninstallQtincludingQt/X谢tqvfbtoolsQt/EmbeddedforbothxandARMeditonswhichareusedtodeveloptheorderterminalapplication..Programorderterminalapplication.UseQtDesignertosketchtheterminal’graphicalinterfaceandthenwritethecodesmainlyincludingtherealizationsofcorebrowserclassandprimarywindowclassbesidesinternationalizationandChinesesupportinthemainprogram.TesttheapplicationthroughNFSatlast..Establishingserverwebsite.UtilizeanormalxPCrunningXPOSastheWebserverwithIIS.ASPwebsite.UseDREAMWEAVERandACCESStodesigntheWebpagesincludingAccessManagementOrderGuideTableUsageMenuListOrderSubmissionandotherfunctionalpages..Debuggingandpublishingapplication.UtilizeYLSBC’soriginalkemelandrootfilesystemaddingconfigurationofwirelessLANsupportandpackingtheAbstractorderterminalapplicationwithitslibraryfilesthewirelessNICdriverandwirelesstoolsintothefilesystem.FinallytransplantthemintoYLSBCwithWLANconnectionandruntheapplication.KeyWords:QtOrderSystemSoftwareDesign厦门大学学位论文原创性声明本人呈交的学位论文是本人在导师指导下独立完成的研究成果。本人在论文写作中参考其他个人或集体己经发表的研究成果均在文中以适当方式明确标明并符合法律规范和《厦门大学研究生学术活动规范(试行)》。另外该学位论文为()课题(组)的研究成果获得()课题(组)经费或实验室的资助在()实验室完成。(请在以上括号内填写课题或课题组负责人或实验室名称未有此项声明内容的可以不作特别声明。)声明人(签名):关巍、叔如年多月f日厦门大学学位论文著作权使用声明本人同意厦门大学根据《中华人民共和国学位条例暂行实施办法》等规定保留和使用此学位论文并向主管部门或其指定机构送交学位论文(包括纸质版和电子版)允许学位论文进入厦门大学图书馆及其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国博士、硕士学位论文共建单位数据库进行检索将学位论文的标题和摘要汇编出版采用影印、缩印或者其它方式合理复制学位论文。本学位论文属于:().经厦门大学保密委员会审查核定的保密学位论文于年月日解密解密后适用上述授权。().不保密适用上述授权。(请在以上相应括号内打“”或填上相应内容。保密学位论文应是已经厦门大学保密委员会审定过的学位论文未经厦门大学保密委员会审定的学位论文均为公开学位论文。此声明栏不填写的默认为公开学位论文均适用上述授权。)声明人(签名):夕I(/、禽、赢如年占月日基于Qt和ARM的电子点菜系统软件设计第章绪论本章主要介绍课题的来源、研究目的和意义并简要介绍课题所做的主要研究工作。.课题来源本课题为自选课题基于本实验室已有的开发板资源研究学习电子点菜系统设计。综合应用Qt开发、嵌入式系统开发技术、WLAN通信技术和ASP网站搭建技术实现无线点菜系统整套应用包括便携式移动终端快速点菜、提交订单和服务器网站后台处理方便前台、厨房各处随时共享信息同时实现数字化物流和仓储管理。此系统易于推广到一般的PDA(PersonalDigitalAssistant个人数字助理无线应用。.电子点菜系统的发展现状餐饮业已经发展成为我国的黄金产业在国民生产生活中扮演重要角色。餐饮企业做大做强追求现代化、产业化、品牌化【】的在进程中从点菜服务等基础项目即实现信息化管理提供更加快速、便捷、透明、卫生的餐饮条件对其经营档次、服务质量和管理效率的提高具有重要意义这就催生和发展了无线点菜业务。无线点菜系统近年来发展迅速从通讯技术上分主要有种也即经历了个发展阶段【】:.以红外技术为基础短距离无线点菜系统。这种系统传送范围通常只有几米并且需要与传送对象的红外接U对准才能交换信息【】。.以蓝牙技术为基础其传送距离能到米可应用于有障碍物或对移动性要求的环境【】。采用这种技术需安装多个蓝牙基站造价高、信号不好、安装不易。.以ZigBee等无线收发技术为基础主要是单片机和无线模块的组合(如MSPF单片机配合nRFt】)多为LCD屏黑白条目显示只能输入代绪论码不能浏览菜谱传送速度比较慢还可能丢失数据。.以国际标准.la/b/g为基础该技术采用的频率是国际通用的工业、科学与医学频段不需要额外审批就可以采用。发射距离可以达到数百米带宽有Mbps。由于采用TCP/IP协议丢失的数据会重发所以数据不易丢失。这种系统需要在掌上电脑上安装特定程序采用数据下载机制比如采用C/S模式以WinCE操作系统加客户端程序的PDA终端【。这种情况下需要预先下载菜谱实时更新程序和数据库可能造成掌上电脑与服务器上的数据不完全同步的问题。.同样以.a/b/g为通讯基础但是在软件开发理念有所不同。这种技术不需要在掌上电脑上实时更新客户软件所有数据更新都在服务器上进行。掌上电脑与服务器实行数据同步不需要烦琐的数据下载机制不需要掌上电脑上有很大内存可以无限制地增加菜品数量可以在掌上电脑上看到实物图像【。任何时候在服务器上修改菜谱新的菜谱立即在掌上电脑上得到更新。程序的更新可以通过互联网进行不需要更新掌上电脑上的程序。顾客还能够通过互联网了解菜品、预定或者直接下单等。.课题的研究意义餐饮业已经发展成为我国的黄金产业在国民生产生活rfl扮演重要角色。年我国餐饮业发展迈上新台阶全国餐饮业零售额累计实现亿元同比增长.%比上年同期增幅高出个百分点。根据商务部公布的数据年上半年全国住宿与餐饮市场持续高增长零售额达到亿元同比增长%比上年同期增加.个百分点。我国餐饮业的快速持续发展显示出了在社会需求和经济发展的大背景下行业总体规模日益扩大在国民经济巾的地位和作用明显提升和加强【。餐饮业是衣食住行巾涉及面最广的行业而服务管理质量的参差不齐很大程度上决定了消费档次和利润收入的巨大差异。随着国民生产生活水平的不断提升人们对生活质量的要求也越来越高。作为生活消费必不可少的一部分餐饮的质量成为衡量生活品质的重要标准。而餐饮服务质量包括了各个方面快速上菜、快速结算、便捷订单、透明菜价、菜品档次、菜品成分、卫生环境和饮食健康成为其不可或缺的内容。显然从点菜服基于Qt和ARM的电子点菜系统软件设计务等基础项目即实现信息化管理提供更加快速、便捷、透明、卫生的餐饮条件对餐饮企业服务质量和管理效率的提高具有重要意义。由于技术的成熟和稳定性IEEE.b已经成为WLAN(无线局域网)市场上的主流标准而被多数厂商采用l引。这使得基于该标准的网络产品的成本得到很大的降低该标准下的多数WLAN产品相互兼容无需太多的成本投入即可组建一套完整的无线应用另一方面基于ARM和Linux的嵌入式系统具有成熟的嵌入式硬件结构和丰富的开放软件资源优良的性能和广泛的市场定位】这无疑对开发工作和学习研究是一个重大帮助在GUI(图形用户界面)的选用上使用基于C语言面向对象编程的应用程序开发软件库Ot它汇集了丰富的C类提供开发应用程序用户界面所需要的全部内容】具有优良的跨平台性能和丰富的API函数及开发文档。另外当前量产的普通PDA和PC机硬件上已经基本满足点菜系统要求使自行研发的专用硬件设备不再具有明显的成本优势。为此本课题集合IEEE.lb、ARM、嵌入式Linux和Qt开发应用等技术利用本实验室已有的YLSBC开发板硬件基础以程序软件的通用性和易用性为方向构造能够方便移植到到各种PDA系统的点菜终端程序和普通PC机的服务器软件实现整个无线点菜系统。提升餐饮业服务质量和管理效率并为自身研究学习嵌入式系统和GUI应用开发提供一个良好的平台。.本课题的主要研究工作本课题通过研究现有的电子点菜系统的解决方案以当代广泛应用的IEEE.lb无线WLAN技术为基础利用实验室现有ARM为核心的YLSBC开发板配合购置的TP.Link的TL.WNGUSB无线网卡组成系统的点菜终端机通过无线路由器连接到后台服务器并在后台服务器上构建服务网站处理和管理数据。具体包括以下内容:.嵌入式Linux系统开发平台的构建使用便于软件安装升级的Ubuntu桌面环境的Linux系统建立基本开发环境建立交叉编译工具安装配置NFS方便程序调试安装用于程序开发的Qt包括用于生成在x上测试Qt/Embedded程序的qvfb等工具的Qt/X用于在x上测试目标程序的Qt/Embeddedx版本以及用于生成开发板(点菜终端绪论机)运行库文件的Qt/EmbeddedARM版本。.点菜终端程序设计首先利用Qt设计器规划点菜终端程序的大致界面然后遵循QT/Embedded编程一般规则编写代码主要分为浏览器核心类和主窗口类的实现并在主程序中添加国际化和中文支持编译后通过NFS进行板上测试。.服务器网站建设及网页设计利用安装WindowsXP操作系统的普通PC机作为远端服务器以IIS.在服务器上建立ASP网站使用DREAMWEAvER视觉化网页开发工具和ACCESS数据库进行网页开发主要包括登录管理、点菜导航、餐台使用、菜单列表、选单提交等功能页面。.程序调试和发布在开发板原配内核及文件系统的基础上内核配置中添加无线网卡支持根文件系统中添加点菜终端程序、库文件、TL.wNGUsB无线网卡驱动和WirelessTools配置管理工具以及相应的环境和启动设置脚本烧写入开发板并连接到WLAN发布运行程序。基于Qt和ARM的电子点菜系统软件设计第章电子点菜系统方案本章说明本电子点菜系统的构成和原理对其硬件组成及软件实现方式分别进行介绍。.电子点菜系统无线解决方案参考已有的点菜系统的无线通讯方案以当前广泛应用的IEEE.bWLAN技术为基础利用实验室现有ARM为核心的YLSBC开发板配合购置的TL。WNGUSB无线网卡组成系统的点菜终端机通过TL.WRG无线路由器连接到后台服务器构成无线局域网(WLAN)另一方面在后台服务器上构建服务网站处理和管理数据终端机通过该WLAN以Browser/Server的模式与服务器交互进行点菜相关操作构成整个电子点菜系统如图.所示。IWebl服务器II无线路南器图电子点菜系统硬件结构图.点菜终端机的组成..点菜终端机的硬件平台在本系统中点菜终端机的硬件平台直接利用优龙公司开发的ARM开发板YLSBC。电r点女系统自案t蜒t膏^强鞠mLCD接口lo扩矗口撮*&口oq^目*口I艏《ll复位按键功篱按键图.开发板接口资源棱心板电潭开*V电鼍表YLSBC开发板主要硬件资源部件说明中央处理器三星$CA}频MHzSDRM:“M外部存储器NANDFish:M网络接口CSQMUSBllHOST个USB接口USBllSLAVE个SD接II个存储接口IDE接口个LCD和触摸屏接l{线电阻式触摸屏接口调试及下载接口芯mukiICE标准JTAG接口串口标准RS串口电源接口V盯口蕾l~基于Qt和ARM的电子点菜系统软件设计ARM(AdvancedRISCMachines)公司是年在英国剑桥成立的半导体设计公司是一家知识产权(IP)供应商。它本身不生产芯片通过转让设计方案由合作伙伴生产各具特色的芯片】。常见的ARM处理器是半导体公司基于ARM的处理器核或处理器为核心针对某一应用领域的再开发芯片。ARM作为一种嵌入式系统处理器具有高性能、低功耗、低成本等优点占领了很大部分嵌入式市场f。YLSBC开发板使用三星公司的ARM核$CA处理器主频为MHz该开发板提供了丰富的硬件接口和触摸屏如图、表【】所示满足本点菜终端机的硬件需求。另外购置TP.Link的TL.WNGUSB无线网卡连接到开发板USBHOST口实现点菜终端机的无线通讯功能。..点菜终端机的软件构成在软件构成上点菜终端机在开发板原配的已经实现板载模块(表.)驱动的Linux.操作系统的基础上在内核配置中添加无线网卡支持根文件系统中添加点菜终端程序、库文件、TL.WNGUSB无线网卡驱动和WirelessTools配置管理工具以及相应的环境和启动设置脚本。点菜终端程序orderBrowser使用Qt进行开发遵循Qt/Embedded程序的一般实现结构机制(如图.)在点菜终端机上实现点菜程序功能。QtEmbcddcdApplication(orderBrowser)QWSServercl瓣(服务类库)IQt/EmbcddedFramework(服务类痒)DriversofInputDevicesF陋mcbu衢lLinuxKernel(I勾核)Hardware(硬件系统)图Qt/Embedded实现结构电子点菜系统方案Qt是一个多平台的C图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt完全面向对象易于扩展能够实现真正的组件编程。Qt/Embedded即q的嵌入式版本它在原始Qt的基础上做了许多出色的调整以适合嵌入式环境。Qt/Embedded应用程序可以直接操作内核帧缓冲节省内存可移植性好在快速化和小型化上有很大的提升而被广泛地应用于各种嵌入式产品和设备中从消费电器(如智能手机、机项盒)到工业控制设备(如医学成像设备、移动信息系统等)。.远端服务器网站远端服务器上建立的点菜系统网站是整个点菜系统的中枢是提供点菜终端机初始菜单信息、餐台初始信息以及处理点菜终端机传回数据的总后台任何菜单信息、餐台使用、选单提交等信息的更新处理实际上都是在服务器上完成。具体地利用安装WindowsXP操作系统的一般PC机作为远端服务器以IIS.在服务器上建立ASP网站使用DREAMWEAVER视觉化网页开发工具和ACCESS数据库进行网页设计开发实现用户登录认证和餐厅数据库操作的相应功能主要包括登录管理、点菜导航、餐台使用、菜单列表、选单提交等功能页面。.无线局域网构成为了实现IEEE.ib协议的WLAN首先需要一个无线AP(AccessPoint无线访问节点)【这里使用TPLink的TL.WRGM无线宽带路由器点菜终端机以实验室现有的ARM核心的YLSBC开发板为基体通过购置的TP.Link的TL.WNGUSB无线网卡连接到开发板的USBHOST端口在内核支持、驱动程序、无线管理工具的配合下点菜终端机便能够接入WqLG路由器进行无线通讯连接到远端服务器进行点菜操作、餐位管理、更新服务器信息如图.所示。苎J。垡型!型塑生王生垂至堑墼盟堡!!图.系统无线连接嵌入式Linux系统开发平台第章嵌入式Linux系统开发平台利用x架构的普通PC主机安装Ubuntu.的Linux操作系统建立嵌入式Linux系统开发平台并分别编译安装Qt/X、Qt/Embedded的x和ARM版本实现QVEmbedded开发环境。.开发环境选择..xll桌面系统的选择目前已有的多种基于GNU/Linux的操作系统如DebianSuSEGentooRedHat和Mandriva等其中Debian是一个广受称道、技术先进且有着良好支持的发行版。Ubuntu基于Debian之上创建了一个可以为桌面和服务器提供最新且一贯的Linux系统【】。Ubuntu囊括了大量从Debian发行版精挑细选的软件包同时保留了Debian强大的软件包管理系统以便于简易的安装或彻底的删除程序。与大多数发行版附带数量巨大的可用可不用的软件不同Ubuntu的软件包清单只包含那些高质量的重要应用程序并且项目每个月就会发布一个版本以提供最新最强大的软件。Ubuntu支持各种CPU架构包括x(Intel//Pentium处理器和AMDAthlon/Duron/Sempron处理器等)、AMD(Athlon/Opteron等、以及PowerPC(iBook、Powerbook、G、G)等。Ubuntu沿袭Debian的apt这是Ubuntu最重要和最依赖的特性。当需要安装软件时只需要在命令终端里输入命令apt.getinstallXXXXXX或者进入新立得软件包管理器搜索选择需要的软件勾选、应用Ubuntu便能够根据包的依赖性自动选择其他需要的软件包下载、安装、配置。Ubuntu项目完全遵从开源软件开发的原则属于免费的自由软件任何人可以任意方式下载、修改和使用。使用人数众多网络资源丰富便于迅捷和高效的开发应用。基于此开发平台采用Ubuntu.桌面系统。查看所使用的Ubuntu版本:$lsbrelease.a基于Qt和ARM的电子点菜系统软件设计输出:DistributorID:UbuntuDescription:Ubuntu.Release:.Codename:gutsy查看所用Linux内核版本】:$uname叶输出:Linuxgegedesktop..一ge饿棘c网络资源是系统开发的重要途径而网络质量决定了对网络资源的有效利用而厦门大学具有一个Ubuntu的更新镜像源作为本校用户刚好可以充分利用该优势。编辑更新源列表增加厦门大学更新服务器(教育网)。$sudocp/ere/apt/sources.ist/etc/apt/sources.ist.bak$sudogedit/etc/apt/sourees.ist在sources.ist文件巾添加如下内容:槲教育网更薪源:厦门大学更新服务器:deb邱://ubuntu.realss.cn/ubuntu/gutsymainrestricteduniversemultiversedeb邱://ubuntu.realss.cn/ubuntu/gu研backportsrestricteduniversemultiversedebftp://ubuntu.realss.cn/ubuntu/gutsyproposedmainrestricteduniversemultiversedeb卸://ubuntu.realss.cn/ubuntu/gutsysecuritymainrestricteduniversemultiversedebftp://ubuntu.realss.cn/ubuntu/gutsyupdatesmainrestricteduniversemultiversedebsrcftp://ubuntu.realss.cn/ubuntu/gutsymainrestricteduniversemultiversedebsrcftp://ubuntu.realss.cn/ubuntu/gutsybackportsmainrestricteduniversemultiversedebsrcftp://ubuntu.realss.en/ubuntu/gutsyproposedmainrestricteduniversemultiversedebsrc卸:llubuntu。realss.cn/ubuntu/gutsysecuritymainrestricteduniversemultiversedebSrCflp://ubuntu.realss。cn/ubuntu/gutsyupdatesmainrestricteduniversemultiverse保存文件后更新系统。Ssudoaptgetupdate嵌入式Linux系统开发甲台..GUI图形用户界面选择Qt足一个多平台的C图形用户界面(GUI)应用程序框架完全面向对象易于扩展能够实现真正的组件编程。Qt工具包是一个C类库并且是使用“一次编写随处编译”的方式用于构建多平台图形用户界面程序的一套工具【】。Qt使程序员通过使用一个单一源程序来构建应用程序而该应用程序经过相应的编译器和库编译就可以运行在Windows、MacOSX、Linux、Solaris、HP.UX和其它使用X的Unix版本【】。q的版本按照不同的图形系统来划分基本有pnq个版本:Win版适用于Windows平台Mac版适合于苹果MacOSX操作系统X版适合于使用了X系统的各种Linux和Unix平台Embedded版适合于具有帧缓冲(framebuffer)的Linux平台。Qt/Embedded是q的嵌入式版本它在原始Qt的基础上做了许多出色的调整以适合嵌入式环境。同Qt/X相比具有相同的应用程序编程接El而QffEmbedded不需要Xserver或是Xlib库采用framebuffer作为底层图形接口节省内存。Qt/Embedded的应用程序可以直接操作内核framebuffer在快速化和小型化上有很大的提升。Qt/Embedded可移植性好支持多个GUI平台的交互开发。现在Qt/Embedded被广泛地应用于各种嵌入式产品和设备如智能手机、机项盒等消费电器及医学成像设备、移动信息系统等工业控制设备【。因此本系统选择Qt/Embedded开发点菜终端机的图形用户界面。.建立开发环境..基本开发环境Ubuntu的默认安装不带有开发环境故需要手动安装。$sudoaptgetinstallbuildessentialbuild.essential的安装包括gcc、make等基本开发工具实现了基本的开发环境。基于Qt和ARM的电子点菜系统软ft:设计表Qt.支持平台和编译工具列表键尹一j”一“”~osArchitectllre壤%。~AIXAIXHPUXHPUXEmbeddedLinuxEmbeddedLinuxLinUXLinRXMacOSXSolarisSolarisMakespeeCompilerversion(s)PowerPCaixxlcPowerPCPARlSCB气RISCARMIntel.bitaix.xlc.)dCxlChpuxacc幸A..(aCC.)hpux一酽斗GCC.qws/linuxarm一酽斗qws/linuxx一到斗Intel/bitlinux卜Intel/bitlinuxicc(seenote)GCC....GCC....GCC...icc.Intel/。bitmacx酽斗GCC..PowerPCSP|ARCsolaris.CC*SunCC.Intel.bitSPARCIntelsolarisg木GCC...bitWindowsXP/VistaIntel/bitwin一酽斗GCC..(MinGW..)WindowsXPnistaIntel/.bitwin.iceiCC.WindowsXPⅥstaIntel/.bitwin。msvcVisualStudioWindowsXP/vistaIntel/.bitwird.msvcVisualStudioWindowsXPvistaIntel/.bitwin.msvcVisualStudioWindowsCEWindowsCEIntel.bitwince*.msvcVisualStudioARMviMIPSIntel一bitwince*.msvcVisualStudioARMviMIPS嵌入式Linux系统开发甲台..建立交叉编译工具由于本系统足要在x的架构上编译安装在ARM架构的点菜终端机上运行的程序需要安装toolchain交叉编译工具。查看需要编译的Qt版本说明打开Qt.参考文档(QtReferenceDocumentation在线网址是h.ttp://doc.trolltech.com/./index.html)点击General.>SupportedPlatforms查看其支持的平台和编译工具如表.所示。本系统目标平台为ARM据此表得知其支持的编译器版本为GCC...和.这里选择GCC..利用crosstool建立交叉编译工具arm.inux...。步骤如下【】:.下载crosstool.至U/usr/local/arm目录。(http://www.kegel.com/crosstool/crosstool..tar.gz).进,k./opt目录解压crosstool。..tar.gz得至U/opt/crosstool.文件夹。$tarxzvferosstool..tar.gz.为了方便后面的操作将crosstool.更名为crosstool。$mvcrosst..crosstool.修改crosstool所属用户为当前用户使用户获得对crosstool的相应权限。$sudochownRgege:gegecrosstool.进入crosstool文件夹由于采用的开发目标系统为$C所以选用demo.armtdmi.sh并根据需要进行相应修改。#!/bin/sh孬Thisscripthasonelineforeachknownworkingtoolchain稃forthisarchitecture.Uncommenttheoneyouwant.群Generatedbygeneratedemo.plfrombuildings/a.dats.txtsetexTARBALLSDIR=/usr/local/arm/downloadsRESULTTOP=/usr/local/arm/crosstoolexportTARBALLS.DRRESULTTOPGCCLANGUAGES=”cClI”exportGCCLANGUAGES群Reallyyoushoulddothemkdirbeforerunningthis拌andchown/opt/crosstooltoyourselfsoyoudon'tneedtOrunasroot.基于Qt和ARM的电了点菜系统软件设计mkdirPSRES阮C及炉#eval’eatarmtdmi.datgee..glibc...dat、sha.shnotest#eval’catarmgtdmi.datgee..glibc.。.dat、sha.shnotest#eval、catarmtdmi.datgcc..glibc一..一tls.dat、sha.shnotest#eval、eatarmtdmi.datgee..glibc一...dat’sha.sh一一notest#eval’catarmtdmi.datgee一..一glibc一...dat、sha.sh一notest#eval’catarmtdmi.datgcc..glib,:一..tls.dat’sha.shnotest#eval、catarmtdmi.datgee..一glibc..。dat’sha.sh一notest#eval’catarrntdmi.datgee一..glibc...dat’sha.shnotest#eval’catarmtdmi.datgcc一..glibc一..一tls.dat、sha.sh~notest#eval、catarmtdmi.datgee..一glibc...dat’sha.sh一notest#eval、catarmtdmi.datgcc一..glibe一..tls.dat’sha.shnotest#eval、eatarmtdmi.datgee..一glibc一...dat’sha.sh一notest#eval’eatarmtdmi.datgcc..一西ibc一..一tls.dat、sha.shnotest#eval’catarmgtdmi.datgee一..glibc...dat、sha.sh一notest#eval’catarmtdmi.datgcc一..一舀ibc一..tls.dat、sha.shnotest#eval’catarmtdmi.datgccl..glibc一...dat’sha.shnotest#eval、catarmtdmi.datgcc一..一glibc..tls.dat’sha.sh一notest#eval、eatarmtdmi.datgcc..一glibc一...dat’sha.shnotest#eval’eatarmtdmi.datgcc..一glibc..tls.dat’sha.sh一notest#eval’catarmtdmi.datgee..Oglibc一...dat、sha.shnotesteval’eatarmgtdmi.datgcc..Oglibc一..tls.dat、sha.shnotestoehoDone.其中TARBALLSDIR工具源码压缩包的存放的目录RESULTTOP生成的工具链的存放目录需要执行用户有写权限仿照注释掉的“#eval’catarmgtdmi.datgcc....glibc....dat’sha.shnotest”等语句根据自己的需要将倒数第二行的语句进行相应的更改这里是“eval’catarmtdmi.datgcc...Oglibc....tls.dat、sha.sh.notest’’【】。.建立下载文件夹downloads并下载相关文件到该目录。根据前一步采用“eval、catarmtdmi.datgcc一...glibc..一tls.dat、sha.shnotest”修改gcc...一glibc一...tls.dat内容:嵌入式Linux系统Jr发平台BlNUTILSDIR=binutils...GCCCOREDIR=gec一..GCCDIR=gce..OGLIBCDIR=glibe...LlNUXDlR=linux..LlNUXSANIT亿EDHEADERDIR=linux.ibc.headers....GLIBCTHREADSFILENAME=glibclinuxthmads一.。GDBDIRdb.GLIBCEXTRACONFIG=”SGLIBCEXTRACONFIGwithtlswith一threadenablekernel=..”其中包括了用于生成针对目标系统的二进制辅助工具的binutils用来生成针对目标系统交叉编译器的gcc提供用户程序所需要的一些基本函数库的glibc以及目标系统的linux内核头文件等其rfl务必保证glibc和内核源代码的版本与目标开发板使用的版本保持一致。crosstool在安装期间将从网络下载以上文件到前面设定的$TARBALLSDIR目录为此先建立此目录:$mkdir/usr/loeal/arm/downloads为了提高安装速度预先下载这些文件并转移到downloads。.修改编译工具名称。默认编译生成的gee文件名为arm.tdmi.inux.gungcc.bin为方便使用改为arm.inux.gcc.bin编辑文件armtdmi.dat:$geditanntdmi.dat修改为:KERNELCONFIG=’pwd’/arm.configTARGET=arm.inuxGCCEXTRACONFIG=”一withcpu=armtdmienablecxxflags=mcpu=armtdmi”TARGETCFLAGS=”O”即将TARGET一项从“arm.tdmi.inux.gnu”改为“armlinux”.最后编译。进入crosstool目录输入./demo.armtdmi.sh开始编译。$cdcrosstool$./demo.armtdmi.sh基于Qt和ARM的电子点菜系统软件设计编译历经数小时后成功在$I迮SULTTOP即/usr/local/arm/crosstool下得到armlinuxgcc.bin。.安装该工具链到系统中以待使用。$./armiinuxgcc.bin使用时再将得到的bin目录添加到$PATH环境变量中。另外也可以直接使用ARM官方推荐的交叉编译工具SourceryGHLiteEditionforARM(http://www.codesourcery.com/gnutoolchains/arm/download.html)选择GNU/Linux的一栏下载最新版本。这里下载的是arin一q.armnone.inuxgnueabii.pc.inux.gnu.tar.bz这是已经编译好的版本解压即可使用。..安装配置NFSNFS(NetworkFileSystem网络文件系统)可以通过网络将分享不同操作系统不同主机的目录通过NFS挂载远程主机的目录可以像访问本地目录访问该目录。程序运行调试时不必每次都烧写到开发板只要通过NFS挂载PC主机上的相关目录到开发板开发板操作系统可以直接调用该目录文件程序测试成功再进行实际烧入。.安装NFS。$sudoaptgetinstallnfskemelserver安装nfs.kernel.server时apt会自动安装nfs.common和端口映射服务portmap(NFS是一个RPC服务程序在使用之前要通过portmap映射好端口o.配置portmap和NFS。$sudodpkgreeonfigureportmap~对Shouldportmapbeboundtotheloopbackaddress选N使不局限于内部。设定允许portmap服务的主机hosts.allow:$sudogedit/etc/hosts.allow编辑其内容开放...木的ip段主机的访问:辫桴NFSDAEMONSportmap:...ckd:...嵌入式Linux系统开发甲台rquotad:...mountd:...statd:...设定拒绝portmap服务的主机hosts.deny:$sudogedit/etc/hosts.deny编辑其内容禁止除了hosts.allow所列以外的用户对portmap的访问:存堋NFSDAEMONSportmap:ALLlockd:ALLmountd:ALLrquotad:ALLstatd:ALL配置NFS挂载目录及权限/etc/expons:$sudogedit/ete/exports编辑其内容允许...木的主机共享/usfflocal目录其中参数nⅣ使用户拥有对该目录的读写权限参数norootsquash使用户拥有对这个共享目录的root最高权限:#/nfs宰(rw)/mr/local...*(rw,syncnorootsquash)更新共享资源重启portmap进程和NFS服务使得配置生效:$sudoexportfs一。$sudo/etc/imt.d/portmaprestart.$sudo/btc/init.d/nfs.kernel.serverrestart.本机测试NFS。这里本地主机IP地址...将/usr/local挂载至U/mnt:$sudomount...:/usr/local/mnt进入/mnt目录可以看至/usr/local的目录内容说明NFS成功安装。.Qt安装Qt程序在嵌入式应用上的开发需要使用Qt的几个版本协同作业编译Qt/Embedded的ARM版本用于生成应用程序在目标机上运行所需的库文件编译安装Qt/Embedded的x版本生成在x开发平台上运行的库文件通过基于Qt和ARM的电子点菜系统软件设计qvfb(虚拟缓冲帧)工具在x上测试Qt/Embedded的目标程序编译安装Qt/X用于生成Qt设计器(Qtdesigller)和用于测试QVEmbedded程序的qvfb工具等。以下为本系统平台使用的Qt版本及其下载地址:Qt/Xllqtxllopensourcesrc一...tar.gz.http://download.qtsoftware.com/qt/source/qtxopensourcesrc...tar.gzQt/Embedde(tqtembeddedlinuxopensourcesrc...tar.gzh丛P碰鱼Q型n!Q盆d:gl墨Q鱼幽£星:垒Q型g型墨Q世£曼』g!=曼豳垫曼亟遣坌垂=!in丛苎=Qp曼塾墨Q丛!笙曼=墨££兰L至』地名圣..安装Qt/Xll.确认gcc编译器已经在环境变量路径上。在终端中输入:$geeV得到Ubuntu系统已经安装的编译器信息:使用内建specs。目标:i.inuxgnu配置为:一/src/configurev一enablelanguages=cc’fortran’objcobjctreelang..prefix=/usr.。enablesharedwithsystemzlib一libexecdir=/usr/lib一一withoutincludedgettex

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评分:

/17
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料