已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连海事大学毕业论文二一四年六月基于ARM的网络数据库设计专业班级电子信息工程3班姓名张全明指导教师李作洲信息科学技术学院I摘要随着信息技术的不断发展,数据库应用的领域越来越多,数据库技术目前是计算机处理与存储数据的最有效,最成功的技术。数据和资源共享这两种技术结合在一起即成为在今天广泛应用的网络数据库(也叫WEB数据库)。它是以后台数据库为基础,加上一定的前台程序,通过浏览器或客户端完成数据存储、查询等操作的系统。本课题的目的是设计并实现一种基于ARM的网络数据库,通过软键盘来输入数据,通过联网与服务器进行连接,并完成数据的查询。PC机作为服务器端;客户端硬件主要采用友善之臂的TINY6410开发板,外接触摸屏。本系统的软件部分由服务器和客户端组成,采用QT开发用户图形界面。服务器端使用SQLITE数据库存放数据,并在QT下实现了对数据库的连接和使用。客户端采用LINUX操作系统,移植了无线网卡的驱动,完成对无线网卡的控制和使用,实现无线网络的连接。客户端的界面主要包括欢迎界面、用户登录界面。论文依据嵌入式系统的开发流程,着重介绍了QT编程、SQLITE数据库的设计、嵌入式LINUX的设置操作等。设计以学生信息查询系统为例,通过运行本系统,实现了在ARM终端上对存放于远程服务器中的学生信息的查询,并通过联网将查询结果传输到ARM终端。通过本系统查询到的信息可进一步应用到其他系统中,为更复杂的嵌入式系统设计打下基础。关键词网络数据库嵌入式;SQLITE;LINUX;QTIIABSTRACTWITHTHECONTINUOUSDEVELOPMENTOFINFORMATIONTECHNOLOGY,MOREANDMOREAREASBEGINTOAPPLYDATABASEDATABASETECHNOLOGYISCURRENTLYTHEMOSTEFFECTIVEANDTHEMOSTSUCCESSFULTECHNIQUESINTHEFIELDSOFCOMPUTERPROCESSINGANDSTORAGEOFDATATHECOMBINATIONOFTHESETWOTECHNOLOGIESOFSHARINGOFDATAANDRESOURCESBECOMESWIDELYUSEDINCURRENTNETWORKDATABASEALSOCALLEDWEBDATABASEITISBASEDONTHEBACKGROUNDDATABASE,TOGETHERWITHAFOREGROUNDPROGRAM,ANDTHENUSERSCANSTOREANDQUERYDATATHROUGHTHEBROWSERORCLIENTTHISPROJECTISTODESIGNANDIMPLEMENTAWEBDATABASEBASEDARMENTERINGDATATHROUGHTHESOFTKEYBOARD,USERSCANCONNECTWITHTHESERVERANDPERFORMQUERYDATAPCACTSASASERVERANDFRIENDLYARMTINY6410DEVELOPMENTBOARDWITHEXTERNALTOUCHSCREENASACLIENTTHESOFTWAREPARTOFTHESYSTEMCONSISTSOFSERVERANDCLIENTCOMPONENTSITUSESQTGRAPHICALUSERINTERFACETODEVELOPANDSQLITEDATABASETOSTOREDATATHENWECANCONNECTTODATABASEANDOPERATEITINQTTHECLIENTRUNSTHELINUXOPERATINGSYSTEMADRIVERISTRANSPLANTEDTOCONTROLANDUSEOFTHEWIRELESSNETWORKCARDTOACHIEVEWIRELESSNETWORKCONNECTIONCLIENTINTERFACEMAINLYINCLUDESUSERLOGINSCREENANDQUERYSCREENACCORDINGTOTHEEMBEDDEDSYSTEMSDEVELOPINGPROCESS,THISTHESISCONSIDERQTPROGRAMMING,SQLITEDATABASESDESIGNINGANDEMBEDDEDLINUXOPERATINGSETTINGSTAKINGTHESTUDENTINFORMATIONSYSTEMFOREXAMPLE,USERSOPERATEONTHEARMTERMINALANDGAINTHESTUDENTINFORMATIONTHATSTOREDINAREMOTESERVERTHISINFORMATIONISTRANSFERREDTOTHEARMTERMINALVIANETWORKTHEINFORMATIONCANBEFURTHERAPPLIEDTOOTHERSYSTEMSANDLAYTHEFOUNDATIONFORMORECOMPLEXEMBEDDEDSYSTEMDESIGNSKEYWORDSWEBDATABASE,EMBEDDED,SQLITE,LINUX,QTIII目录第1章绪论111课题背景及意义112研究现状及发展趋势213论文研究内容及章节安排214本章小结3第2章网络数据库系统的方案设计421方案的总体设计422网络环境的选择523用户图形界面724嵌入式数据库825本章小结10第3章网络数据库终端的开发环境的搭建1131终端的硬件环境11311ARM处理器11312TINY6410开发板1232嵌入式操作系统及其安装12321嵌入式操作系统的选型12322LINUX的开发环境的建立1433软件开发环境的搭建14331共享文件夹的配置14332交叉编译工具15333QT47的安装1634本章小结17第4章开发板上的系统平台的实现1841BOOTLOADER18411BOOTLOADER及启动流程18412UBOOT及其编译1842LINUX内核19421内核的版本19422内核模块结构19423内核的配置2043文件系统2044开发板上安装配置QT4721IV45本章小结21第5章基于ARM的网络数据库系统功能的实现2251系统方案的设计22511服务器端的设计方案22512客户端的设计方案2252服务器端数据库的实现23521数据库的建立23522数据库的使用2353数据传输的实现24531网络环境的构建24532网络传输模式及协议24533应用程序的实现2554客户端各子界面的实现27541欢迎界面的实现27542用户登录界面的实现2755测试与结果2956本章小结29结论30参考文献31致谢32基于ARM的网络数据库设计1基于ARM的网络数据库设计第1章绪论11课题背景及意义随着科技的进步,数据库应用的领域越来越多,它开始在社会的各个方面帮人们存贮和管理数据,发挥着不可替代的作用。在这个信息交流和数据共享需求如此强大的社会,数据库自然也是离不开网络二字,网络数据库是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储于数据库中的大量信息及时发布出去;而计算机网络借助于成熟的数据库技术对网络中的各种数据进行有效管理,并实现用户与网络中的数据库进行实时动态数据交互。网络数据库目前在INTEMET中有大量的应用,从最初的网站留言簿、自由论坛等到今天的远程教育和复杂的电子商务等,这些系统几乎都是采用网络数据库这种方式来实现的。网络数据库系统的组成元素为客户端、服务器端、连接客户端及服务器端的网络。这些元素是网络数据库系统的基础。使用网络数据库的最大优势是用户无需在自己的客户端安装任何与所需存取或操作数据库系统对应的客户端软件,只需要通过WEB浏览器便可完成对数据库数据的常用操作。这种方式的优点是用户不必再去学习复杂的数据库知识和数据库软件的使用,只需要掌握基本的网络操作,如填写、提交表单等就可以从任何一台连接INTERNET的计算机上来访问数据库。随着WIFI(WIRELESSFIDELITY)网络环境的迅速发展,许多公共场所都布置了WIFI无线局域网,使人们可以随时随地连接到网络。这种通过点对点的方式直接连接并进行使用的方式,给人们带来了便利操作体验。WIFI在给人们带来方便的同时,已经逐步成为主流网络渠道。人们在享受无线通道带来的便利上网方式的同时,对拥有WIFI功能的IT产品的需求越来越多。无线连接作为一种更简洁的网络连接方式,其应用必将越来越广泛。在本设计中我们希望选择这种更新,更有诱惑力的网络连接方式来连接网络。考虑到手机等小型电子产品的普及及日益强大,网络数据库的应用也必将在此领域一展宏图,因此想到设计一个基于ARM的网络数据库,在手持设备日益疯狂的时代,我想这应该是非常有意义的。本课题的目的是设计并实现一种基于ARM的网络数据库1,通过软键盘来输入数据,通过WIFI可以接入无线局域网,与服务器进行连接,并完成数据的查询。基于ARM的网络数据库设计212研究现状及发展趋势由于企业信息化的目的就是要以现代信息技术为手段,对伴随着企业生产和经营过程而产生的数据进行收集、加工、管理和利用,以改善企业生产经营的整体效率,增强企业的竞争力。所以,数据库是企业信息化不可缺少的工具,是绝大部分企业信息系统的核心。数据、计算机硬件和数据库应用,这三者推动着数据库技术与系统的发展。数据库要管理的数据的复杂度和数据量都在迅速增长;计算机硬件平台的发展仍然实践着摩尔定律;数据库应用迅速向深度、广度扩展。尤其是互联网的出现,极大地改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战。这些因素的变化推动着数据库技术的进步,出现了一批新的数据库技术,如WEB数据库技术、并行数据库技术、数据仓库与联机分析技术、数据挖掘与商务智能技术、内容管理技术、海量数据管理技术等。在手持设备发展迅猛的时代,在WIFI技术慢慢进入日常生活的时代,在数据库开始成为人们办公作业必不可少的工具的时代,我们有理由相信着三者的结合必将给我们带来不同的享受和体验。13论文研究内容及章节安排本设计的主要研究内容有(1)搜集相应背景,基于ARM的网络数据库系统的实现方案的设计及选型。(2)嵌入式无线连接终端硬件的构成及软件开发环境的搭建。(3)外围设备的驱动加载及其使用。(4)用户图形界面的实现,包括PC机上运行的服务器端的界面和ARM开发板上运行的客户端界面。(5)数据库的搭建。本文的章节安排内容如下第1章绪论。主要介绍了网络数据库的研究背景和意义,研究现状及发展趋势。第2章网络数据库系统及其选型。根据本系统的总体架构的设计,从无线网络,用户界面及嵌入式数据库三个方面,完成了设计总体方案的选型。第3章嵌入式终端开发环境的搭建,硬件方面介绍了ARM处理器的特性及TINY6410开发板的接口和主要功能。系统方面介绍了LINUX系统的特性及其安装,并建立了软件开发环境。软件开发环境包括共享文件夹的安装与设置,交叉编译工具的安装,QT47的安装2。第4章终端上系统平台的设计。从UBOOT、内核、文件系统及QT47的安装及配基于ARM的网络数据库设计3置这四个方面完成终端的嵌入式平台的搭建,为应用程序的运行提供基础2。第5章基于ARM的网络数据库系统功能的实现。整体上介绍了本系统的服务器和客户端的具体实现方案,并给出系统调试结果。按照应用程序的功能,分四个部分介绍具体的实现方法。四个部分为服务器端数据库的建立、连接及使用,服务器与客户端间数据的双向传输,客户端的打印功能及客户端各子界面的实现。客户端的子界面包括欢迎界面,登录界面,修改密码界面。14本章小结本章主要介绍了本课题研究的背景和意义以及他的研究现状和发展趋势,然后对本文的研究内容和章节安排做了简要的阐述。基于ARM的网络数据库设计4第2章网络数据库系统的方案设计21方案的总体设计基于ARM的网络数据库是指通过网络连接的方式与网络中的计算机进行数据交换,实现信息的查询机更新。网络图21基于ARM的网络数据库的总体结构设计图总体设计方案的架构如上图21所示,网络数据库系统图采用的是服务器/客户端的结构,在无线网络中实现服务器端与客户端的数据交互。服务器采用PC机,存放数据,方便数据的查询与更新。客户端采用S3C6410处理器并使用操作系统,通过无线网卡接入网络并与网络中的其它计算机(服务器)进行数据的交换。为了方便使用,在客户端和服务器端,开发了用户界面,也便于查看客户端和服务器端之间的数据交互。通过触摸屏上的软键盘输入用户登录信息,客户端把信息发送到服务器端,服务器根据接收到的信息在数据库中进行操作。服务器端把操作结果的信息发送给客户端。客户端根据接受到的信息,显示相应的内容,并从打印机输出所需的内容。为了方便数据的管理,本系统的数据存储在服务器端。PC机采用数据库对数据进行存储,这样就可以实现数据的共享及对其的集中控制、确保数据的一致性、增强数据的可维护性3。22网络环境的选择由于在本设计中需要用到网络连接,网络连接可以选择有线网络和无线网络,那么有线网络和无线网络都有哪些优点和缺点呢。下面我们先比较一下这两种网络的优点和缺点,以便能够更好地选择,做到事半功倍。(1)稳定性有线网络有一个最大的优点是目前的无线网络所无法比拟的,这就是快且稳定。就我国的网络环境来说,由于房屋基本都是钢筋混凝土结构,并且格局复杂多样,环境对无线信号的衰减严重,因而无线网络的不稳定性是不可避免的。对于一个网络来说,无论是企业网络还是家庭网络,稳定性是最重要的,因为时断时续的网络,是没有人可以忍受的。当然,也并不是说,无线网络的稳定性一点保障都没有,只是有线网络胜它一筹而已。(2)速度根据相关资料显示,有线网络的传输速率较快,而且也比较稳定,服务器客户端基于ARM的网络数据库设计5一般为100M、1000M,而无线的速率相对来说就稍微慢一些,衰减现象还比较严重,一般为11M、54M、108M。由此可见,有线技术在速度上提供了目前无线技术所不能支持的专用的网络带宽,尤其是对于那些数据密集型的应用或者是大量数据的同时传输来说,无线网络的表现与有线网络相比起来确实是有点逊色。虽然说一般的家庭用户对网络速度的要求不会太苛刻,然而,更快更爽的网上冲浪是每一位网络用户的想要的,从这个角度上来看,孰优孰次就有自有分晓了。(3)安全性家庭网络组网的一个重要问题就是网络安全的保障,特别是当你使用宽带连接时这点尤为重要。虽然无线技术有很多的优点,但是无线网络的安全性永远也没有办法和有线网络的安全性相提并论,除非你部署了端到端的加密技术,否则都无法保障无线网络所谓的真正的安全通信。有线网络可以处理非常高速的带宽,并且可以提供较好的安全性,因为有线网络不需要在网络中广播信息的,只要硬件在控制中就可以保障网络的安全。而无线网络是通过特定的无线电波传送的,所以在这个发射频率的有效范围内,任何具有合适的接收设备的人都可以捕获该频率的信号,这必然会影响到一个局域网络中的安全,因而,无线网络用户对于重要数据需要特别加密以增加安全性。(4)灵活性传统的有线网络布局要受到布线格局的限制,如果建筑物中没有预留的线路,布线以及调试的工程量比较大。如果使用无线网络的话可以解决了上述的麻烦,因为无线网卡体积小、重量轻、携带方便,带上它就可以随时随地组建网络而不用再拉着一根长长的网线,不必受空间的限制和网络安装时间的困扰。组建了无线网络,家里的每一个人在家里的每一个角落,都可以使用PC、笔记本电脑甚至PDA(手持电脑)接入互联网,实现随时随地同时上网。还有的就是,在搬家或更换上网地点时也不会损失布线费用,只需要把无线接入器拆走,就带走了所有网络部件,相当简单方便。(5)扩展性有线网络的扩展性比较弱,如果要增加新用户,而原有布线所预留的端口又不够用的话,那就要进行重新布置线缆等工作,虽然电缆本身并不贵,比较麻烦;而且,一旦网络建成,其功能上也比较固定。而无线网络的扩展性就比较强,一台AP可以支持2048个用户(为保证高性能,建议接入30台计算机,但这足以满足家庭用户的需要了);如果需要新增加用户,网络不需作任何更改,只要在计算机上安装一张无线网卡就可以了。(6)简便性有线网络安装过程和维护过程懂简洁明了,但是安装工序比较繁琐,而且需要一定的技术。无线网络的安装过程简单,一般只需5分钟就可以安装完成了。只要给无线路由器接上电源,然后进行简单设置。有的需要进行手工配置,对于特殊的配置,需要在计算机和网卡上分别进行设置,才可以实现互联网的连接了。总评无线网络技术在不断的发展与改善,其发展前景是良好的,但是在很多基于ARM的网络数据库设计6场合下,有线接入技术并真的比无线网络有更多的优势。无线网络是对有线网络的一种补充,而不是一种替代。两种网络各有各的好处,具体选择哪种网络还是要看具体的需求,就本次设计来说,我们以灵活性与简便性为主,因此选择使用无线网络。对于无线网络连接,常见的解决方案有GPRS、GPS、蓝牙、WIFI及ZIGBEE等。虽然GPRS和GPS具有较广的传输范围,但传输速率低,性价比不高。短距离无线通信技术的实现价位比较低,本文主要考虑的蓝牙、WIFI及ZIGBEE等几种短距离。下面是几种常见的短距离无线通信技术。WIFI技术WIFI使用的频段在24GHZ附近。WIFI的传输速度较高,最高速度由使用的标准决定,IEEE80211B最高为11MBPS,IEEE80211A和IEEE80211G最高都为54MBPS6。WIFI技术的第二层上与以太网是一致的,可以很方便的嵌入到已有的有线以太网中,降低了组网成本。蓝牙蓝牙采用低功率时分复用方式发射1MHZ的带宽时,蓝牙的有效传输速率是721KBIT/S,通信距离为10CM至10M。蓝牙是一种低成本的短距离通信技术,频带为245GHZISM,采用跳频扩谱技术。ZIGBEE技术ZIGBEE是一种新兴的近距离无线网络技术,其特点为复杂度低、功耗低、成本低、速率低4。该技术能够很好地应用于工业仪器监测、消费类电子及家庭监控等无线传感器网络的控制领域中5。UWB技术UWB(ULTRAWIDEBAND),是另一个新兴的无线通信技术6,翻译过来即超宽带技术。UWB的调制方式采用脉冲调制及二进制相移键控,工作波段为31GHZ至106GHZ。UWB能够穿透墙壁和身体并且具有较高的分辨率,可应用于救援、消防、医疗、雷达系统和图像处理。从以上几种方案的比较中可以看出,WIFI在传输速率和网络覆盖率方面都具有更突出的优势。虽然WIFI技术的无线通信质量有待改进,但现有的水平已经可以满足本设计的需求。综上所述本设计选择WIFI作为终端连接到网络的方式。本设计的无线网络环境由路由器和无线网卡组成的无线局域网,这种AP和无线网卡的组网方式也是WIFI常用的组网方式之(ACCESSPOINT),常译为“无线访问节点”或“桥接器”,用途是无线工作站及有线局域网络的桥梁。本设计采用型号为TLWR740N的无线宽带路由器作为AP,无线网卡选用以RALINKRT3070L为核心控制器的WIFI8000模块。基于ARM的网络数据库设计723用户图形界面在图形界面的选择上主要考虑客户端,因为客户端采用的嵌入式操作系统的硬件资源是有限的,这就要求所使用的用户图形界面必须具有轻型、高性能、高可靠、可配置、可移植的特点。选用嵌入式图形界面作为图形用户接口GUI(GRAPHICSUSERINTERFACE)的开发,下面对比几种常见的嵌入式GUI(1)QT/EMBEDDEDQT是一个跨平台的C图形界面库,完全面向对象,非常易于扩展,并且允许组件编程。QT开发库是最重要的QT构成部分,拥有的C类约400多个,主要的构成部分有DATABASE、图形用户接口以及国际化语言等;QTLINGUIST使不同国家的开发者免受语言不同带来的影响,促使了更多的开发者选用QT;QTDESIGNER是一个可运行于多种平台的集成开发环境,主要用途是对窗口部件的布局和对话框的构建;QTASSISTANT是QT中的帮助软件,开发者可以把它作为帮助文档的浏览器;QT嵌入式版指的是面向嵌入式操作系统而推出的QT版本,常用的有QT/EMBEDDED和QT/X11。(2)MICROWINDOWSMICROWINDOWS7是一个出现较早的源码开放的项目,由C语言编写的,具有较强的移植性,支持许多硬件平台。它就有相对完善图形功能,但窗口处理功能远不够完善,在图形引擎中有很多未经任何优化的低效算法,这些缺陷使MICROWINDOWS距离一个优秀的窗口系统还有一定的差距。(3)OPENGUIOPENGUI是一个采用LGPL条款的源码开放的项目。OPENGUI的内核是由汇编语言进行编写的,这使得它具有非常快的运行速度,但也正是这个原因使得它的不具有较好的可移植性,它对多线程也不支持。(4)MINIGUIMINIGUI是一个基于LINUX的轻量级GUI,遵循LGPL条款。MINIGUI是一款国产的自由软件,技术创新,优势诸多。具有的特点包括轻量小巧、可配置、较好的可移植性。但它的图形引擎有局限性并且其功能较弱,体系结构也远不够完善,在图像开发环境中不具备IDE。此外MINIGUI缺乏支持度。同样作为基于QT开发出软件平台,QT/EMBEDDED比QT/X11有许多优势,比如QT/EMBEDDED更节省内存。而且,使用QT/EMBEDDED设计的软件,无需再进行一次编译,就能够直接运行在QT/X11上,反之却不可以。鉴于QT/EMBEDDED比较有优势,下面结合QT所带有的优势,来分析一下QT/EMBEDDED作为一款嵌入式GUI具有的特点。丰富的API函数,而且类库支持跨平台,封装了适合不同操作系统的访问细节,这也正是QT的魅力所在。丰富的工具,以开发包形式提供,包括了图形设计器、MAKEFILE制作工具、字基于ARM的网络数据库设计8体国际化工具、QT的C类库等。优秀的快平台特性,支持WINDOWS系列、UNIX/LINUX/SOLARIS、MACOSX。良好的封装机制,非常高的模块化程度,这使得它具有很好的可裁剪性和可移植性8。丰富的资源,使用者众多。运行需要资源少、速度快。分析了四种常见的嵌入式GUI的优缺点之后,结合客户端的需要,选择QT/EMBEDDED来开发客户端的用户界面,本设计使用的QT47就是QT/EMBEDDED的一个版本。24嵌入式数据库在数据库领域,嵌入式数据库的“嵌入”一次的语义是指能够比较方便简单的应用于其他应用程序中。本设计选择使用嵌入式数据库的依据也源于这种语境下的概念。本设计中的数据量不是特别大,在数据库的具体选择上,主要考虑中小型的数据库,常见的主要有MYSQL、SQLITE、BERKELEYDB、FIREBIRD、POSTGRESQL等9。MYSQL是一种多进程、多用户的SQL数据库服务器。MYSQL包括MYSGLD(服务器守护进程)、CLIENTPROGRAMS(客户端程序)及不同的LIBRARIES(类库)的C/S(客户端/服务器)实现工具。它无法较好的支持复杂的操作,但可以很好应用于小而简单的数据库中。MYSQL不是完全的免费软件,只有作为普通的最终用户使用MYSQL时,才不需要付钱。此外,无论是直接还是间接的出售了MYSQL相关产品或服务程序,又或者在客户端对MYSQL服务器进行了维护,这些都需要收取相关的费用。若是在发行版中出现含有MYSQL的内容,也是需要获得许可的。SQLITE的设计目标是“简单管理,简单操作,简单使用,简单维护,简单定制”10。SQLITE是一种轻型、零配置的数据库,对数据库的存放采用了单文件。在处理速度方面,SQLITE优于其它大多数数据库管理系统(如MYSQL和POSTGRESQL)。在版权方面,SQLITE没有任何的应用限制,即使商业性产品也不例外。在使用方面,SQLITE的操作语句同关系型数据库产品相类似,使用起来非常方便。BERKELEYDB的源代码是开放的,可以高效的管理应用程序中的数据。只需要进行一些简单的API的调用,就能够对数据进行访问及管理。BERKELEYDB不同于其它常用的数据库管理系统(如MYSQL)的是它不包含有数据库服务器的概念。直接使用应用程序中内嵌的BERKELEYDB函数库,就可以实现数据的保存、查询修改或删除11。而不需要事先在应用程序中连接数据库服务器,才能完成对数据的操作。FIREBIRD就是从INTERBASE的源代码中派生出来的一种小型数据库,兼容SQL并支持存储过程,能够与其它应用程序或应用程序服务器进行捆绑。它功能包括绝大多数的成熟数据库的功能,其设计思想为小型、快速和最小化的管理。设计者使用基于ARM的网络数据库设计9FIREBIRD对数据进行存储与管理时,不需要花太多精力来调整数据性能,非常方便。POSTGRESQL是一款完全免费的数据库,使用时不再需要支付版权费或购买费。此外POSTGRESQL的兼容性也很强。作为世界上优秀的开源的数据库,它被许多版本的LINUX定为发行首选,在REDHATLINUX、TURBOLINUX中都预装了POSTGRESQL。表21数据库对比表数据库名称BERKELEYDBFIREBIRDSQLITE速度快快最快稳定性高高高数据库容量256TB64TB2TBSQL支持不支持全部SQL92与大部分SQL99大部分SQL92数据操作仅应用程序接口SQLSQL开发接口C,C,PHP,JAVA,DELPHI,PYTHON,NET结合本设计的需求,依次考虑以上介绍的几种常用数据库,找到最适合本设计的数据库。本设计的数据库存储数据量不算大,对数据库的要求主要是操作简单,使用方便,速度快。从数据库的体积方面考虑,POSTGRESQL体积较大,虽然它是很完善的开源的数据库,但不适合本设计。从数据库的版权收费方面考虑,MYSQL在商业用途中收费,版权使用时也有一些需要获得许可的情况,为设计的长远考虑,不选用MYSQL。下面剩下SQLITE、FIREBIRD、BERKELEYDB,对比一下这三种数据库的性能。从表21中可以看出,SQLITE的速度最快。SQLITE小巧的体积、完善的功能、源码免费开发等优点,在很多嵌入式系统中得到了应用,如应用于智能手机的媒体查询功能,应用于交通系统信息采集。至于数据库容量,本设计的数据量不是很大,2TB足够满足需求综合考虑,SQLITE是最适合本设计的数据库系统。25本章小结本章对网络数据库系统的方案设计做了详细的阐述,包括系统的总体设计,网络环境的选择,用户图形界面设计以及嵌入式数据库,其中对各种网络的优劣,几种用户图形界面和网络数据库的选择方面进行了详细的比对。基于ARM的网络数据库设计10第3章网络数据库终端的开发环境的搭建31终端的硬件环境311ARM处理器ARM(ADVANCEDRISCMACHINES)处理器体系,与MIPS、POWERPC、X86同属于精简指令集计算机(RISC)处理器体系。ARM公司成立于英国剑桥,是一家全球领先的嵌入式RISC微处理器解决方案供应商。ARM公司并不生产ARM处理器,主要的产品是ARM技术知识产权核。ARM技术具有非常高的功效和性能,非常容易得到厂家的接受。ARM拥有非常广泛的全球合作伙伴,包括许多顶级的半导体公司。这种转让设计许可的商业模式,使得不同合作公司可以根据各自不同的应用领域生产各具特色的芯片。因此,ARM技术获得了更多的来自第三方的工具、制造及软件的支持。降低整个系统的成本,加快产品进入市场的时间,从而拥有了更大的竞争优势。目前,基于ARM技术的微处理器占据了32位RISC芯片80的市场份额。ARM处理器具有低功耗、高性价比等特点,它的应用几乎无处不在,下面介绍几种重要的应用领域(1)网络应用针对语音及视频的处理,ARM进行了优化,使其获得广泛的支持。随着宽带技术接入市场的成长,采用ARM技术的ADSL芯片向采用DSP芯片发起了挑战。ARM正逐步获得网络应用领域的竞争优势。(2)无线通信领域在无线通信设备中,超过85的设备采用了ARM技术。在无线通信领域,ARM有着近乎无可替代的巩固地位。(3)消费电子产品在这个增长迅速的市场中,ARM的应用仍然十分广泛,主要包括MP4等音频播放器,收音机、数字机顶盒、游戏机以及智能手机等目前流行的电子产品。(4)工业控制领域基于ARM的网络数据库设计11作为32位的精简指令集计算机架构,ARM微处理器在占据大部分高端微处理器市场份额的同时,也逐步扩大在低端微处理器应用领域中占有率。ARM微处理器所具有的性能高、价位低、功耗低等优势,成功的向传统8/16位的微处理器发起了挑战。312TINY6410开发板本设计的终端采用友善之臂的TINY6410开发平台,TINY6410开发板由核心板和底板共同构成12。TINY6410核心板采用5V供电,带有专用复位芯片。处理器为SAMSUNGS3C6410A,FLASH存储为2GBMLCNANDFLASH。TINY6410开发板以三星ARM11S3C6410芯片作为主处理器,该CPU基于ARM1176JZFS核设计,内部集成了强大的多媒体处理单元,并带有3D图形硬件加速器,支持2D图形图像的平滑缩放,翻转等操作。TINY6410底板是采用TINY6410核心板的一款参考设计底板。该底板具有的资源包括调试口、串口、网络接口、音频输入输出、4个USBHOST、LCD接口等。32嵌入式操作系统及其安装321嵌入式操作系统的选型嵌入式系统在具有一个操作系统的基本特征之外,还具有执行效率高、实时性强、针对特定的应用,对于功耗、体积及成本也都有一定的要求。下面介绍几种常用的嵌入式操作系统。(1)WINDOWSCEWINDOWSCE是微软公司开发的能够比较好的兼容WINDOWS系列操作系统的嵌入式操作系统。它支持的CPU架构种类较多,硬件驱动资源也比较丰富,拥有强大的多媒体功能同时。此外,开发调试的过程与PC机上的WINDOWS有众多类似之处。WINDOWSCE有很多的缺陷,如系统占用比较大、不开源且版权费比较昂贵等。(2)VXWORKSVXWORKS是美国WINDRIVER公司设计出的具有非常好的可靠性和实时性的操作系统。其特点包括微内核结构可裁剪、支持POSIX实时扩展标准、任务管理高效、中断处理为微秒级,任务之间的通信较灵活等。它广泛出现在航空、航天、军事、通信等高精尖技术领域,在实时性和可靠性要求很高的操作系统领域非常受欢迎。VXWORKS也有缺点,它支持的硬件少,不开源且授权费高。(3)UCOSII基于ARM的网络数据库设计12UCOSII是一种著名的开源的实时操作系统内核。UCOSII结构小巧,内核采用优先级可剥夺的任务调度机制。UCOSII具有较强的可移植性、可裁剪性、空间占用小、执行速度快、实用性和可靠性等。它被广泛应用在各种8/16/32位单片机上。UCOSII的源代码全部公开,但它不是完全的免费软件,用于生产商业产品时,必须购买授权。UCOSII只是一个内核,没有给用户提供各种的系统调用和API接口函数,很多部分用户要根据需要自行实现。(4)LINUXLINUX是一种遵循GPL的开源嵌入式操作系统。它的价格低、功能十分强大,移植性好,得到了越来越多的开发人员的青睐。LINUX具有的优势主要集中在以下几点13能够支持绝大部分主流的微处理器,例如X86,、ALPHA,、ARM,、MIPS等等。源代码是开放的,操作系统实现了可定制;在GPL协议的规范下,不同开发人员开发出的软件具有了很好的兼容性。内核精悍且十分高效稳定。在许许多多的来自全球不同地区的开发者及团队的共同能力下,对LINUX内核进行了一次又一次的维护及升级,使得LINUX具有了十分精巧、效率高且稳定性高的内核。开发工具十分优秀。这些工具不但技术成熟、功能完善、操作方便,而且不断更新升级以适应技术的不断进步。网络通信十分完善,只要是标准的网络协议,几乎都能够支持。在文件管理方面,LINUX的机制也很完善,能够支持多种格式的文件系统。此外,在人机交互方面,LINUX的用户图形界面也在不断完善中。LINUX还特有模块机制,使得开发者可以根据需要,随时加载或许卸载模块。从以上比较可以看出,这四种操作系统的稳定性和实时性都很好。在开发费用方面,由于VXWORKS和WINDOWSCE的代码不开源,需要购买版权,其价格比较昂贵,考虑到系统的开发成本有限,不选用这两种操作系统。本设计需要有网络协议的支持,但UCOSII不支持,所以不能选择。综上所述,选择LINUX作为终端的操作系统。322LINUX的开发环境的建立LINUX的安装有多种方式。本文通过PC机的WINDOWS操作系统中安装虚拟机后,再安装LINUX。LINUX有多种发行版本,不同的发行版本为不同的目的而制作。常用的十多种,包括REDHATLINUX、DEBIAN、MANDRAKEUBUNTU、SUSE、FEDORA、LINUXMINT及GENTOO等。本文选用UBUNTU1204,其具有主要优势如下(1)更新速度快;基于ARM的网络数据库设计13(2)删除了屏幕保护及无用的软件包;(3)加入了GNOMECLASSIC风格;(4)UBUNTU1004的网络沖突问题在UBUNTU1204已解决。本设计在虚拟机下,使用UBUNTU1204DESKTOPI386ISO镜像文件对其进行安装。安装前,还需要进行一些配置。其中对内存分配的选择,本设计选择1GB。在安装阶段还需要完成语音的选择、用户名及密码等进行设置。33软件开发环境的搭建331共享文件夹的配置由于LINUX系统在WINDOWS下用虚拟机来安装的,使得虚拟机跟PC机之间文件传递就成为一个难题。解决这个难题的方法有很多,本设计通过共享文件夹实现LINUX与WINDOWS之间的文件传递。共享文件夹的安装使用的是VMWARETOOLS845324285TARGZ,在虚拟机中选择VMUPDATEVMWARETOOLS就可以获得该压缩包。运行安装文件VMWAREINSTALLPL,进行安装。BIN目录下的VMWARECONFIGTOOLSPL是一个配置文件,也需要安装一下。完成安装后,开始设置一个共享文件夹。332交叉编译工具绝大多数开发板的可利用资源十分有限,无法满足编译时对软硬资源的需求。一般的解决方法是依赖宿主机(通常为PC机)进行编译,这就需要使用交叉编译工具。本设计直接使用友善之臂提供的ARMLINUXGCC451V6VFP20102203TGZ作为交叉编译工具。将压缩包拷贝到OPT目录下,并解压。完成解压后,对环境变量进行修改,打开文件/ETC/PROFIEL,在文件中加入一行代码,如图31中红框中的内容。基于ARM的网络数据库设计14图31修改环境变量图在终端下输入ARMLINUXGCCV,检查是否安装成功。如图32中出现了版本“VERSION451”,至此交叉编译工具安装成功。图32查看安装版本图333QT47的安装本设计在宿主机上安装的是QT47,需要进行的工作包括QTCREATOR的安装、QT47的安装及一些必要的配置。下面依次介绍各部分的工作。QTCREATOR的安装,本设计使用QTSDK来实现这一步。从互联网下载安装包QTSDKLINUXX86OPENSOURCE200905BIN。修改执行权限后,运行安装包。安装的过程中基于ARM的网络数据库设计15需要注意一下安装位置为/OPT/QTSDK200905。安装完成后,在桌面会生成QTCREATOR图标。QT47的安装。从网络获取QT47源码包ARMQTE47020101105TARGZ,并将QT47源码包拷贝到/OPT/MINI6410下。解压源码包,进入源码包目录ARMQTE470,解压其中的QTEVERYWHEREOPENSOURCESRC470TARG。为了成功安装QT47,还需安装编译工具,在终端中依次运行如下命令SUDOAPTGETINSTALLGMAKECMAKEPKGCONFIGSUDOAPTGETINSTALLLIBGLIB20DEVLIBSMDEVLIBXRENDERDEVLIBFONTCONFIG1DEVLIBXEXTDEVSUDOAPTGETINSTALLLIBGLUIDEV在终端下进入QTEVERYWHEREOPENSOURCESRC470目录,交叉编译QT47。终端中所需运行的命令为SUDOECHOYES|/CONFIGUREPREFIX/OPT/QT47OPENSOURCEEMBEDDEDARMXPLATFORMQWS/LINUXARMGNOWEBKITQTLIBTIFFQTLIBMNGQTMOUSETSLIBQTMOUSEPCNOMOUSELINUXTPNONEON。使用命令MAKE,开始编译。在执行命令SUDOMAKEINSTALL。完成后,QT47就被安装在了/OPT/QT47。完成上述安装后,需要进行一些配置。使用QT开发好程序后,要对其进行交叉编译,配置的主要原因是能够完成交叉编译。在TOOLS菜单中点OPTIONS选项,在出现的对话框左侧选择QT47下的QTVERSION,QMAKELOCATION的地址为/OPT/MINI6410/ARMQTE470/QTEVERYWHEREOPENSOURCESRC470/BIN/QMAKE,通过BROWSE按钮找到该路径下的QMAKE,版本信息为470。此外,在左侧的菜单栏中点PROJECTS,在弹出的界面中还需要做相应的配置。本小结内容实现了对QT的使用,在PC机上就可以开发出能够在ARM开发板上运行的QT程序。34本章小结本章介绍了网络数据库终端的开发环境的搭建,首先介绍了终端的硬件环境,ARM处理器,对ARM处理器的发源以及应用进行了概述然后介绍了本设计使用的TINY6410开发板。接下来对几种嵌入式操作系统进行了比较,最终选择LINUX作为终端的操作系统。紧接着介绍了LINUX的开发环境的建立以及LINUX上一些软件开发环境的搭建,包括共享文件夹的配置,交叉编译工具等,最后详细级阐述了QT47的安装过程。基于ARM的网络数据库设计16第4章开发板上的系统平台的实现41BOOTLOADER411BOOTLOADER及启动流程BOOTLOADER就是在操作系统内核运行之前运行的一段程序,引导和加载系统内核镜像的工具14,需要具备的功能如下(1)初始化RAM这一功能是必需能够实现的,因为将来系统要通过它来对一些VOLATILE数据进行保存。这一功能的具体实现依赖于具体的微处理器及其硬件系统。(2)初始化串口这一功能不是必需的,但一般都会进行。一般地,初始化之后,至少还要保证一个串口被使能了。这样通过串口就可以与控制台进行一些工作,或者是与PC机之间的通信等。(3)启动内核镜像这一功能也是必需实现的。大多数BOOTLOADER的启动流程分为两个阶段STAGE1和STAGE2。阶段1一般都是利用汇编语言来实现,以便达到短小精悍的目的,其中包含与CPU体系结构相关的代码。阶段2部分一般利用C语言来实现,便于复杂功能的实现,而且也会调高代码的可读性和可移植性。通过BOOTLOADER实现了硬件设备的初始化,并建立内存空间的映射图,使得嵌入式系统的软件和硬件达到合适状态,从而为调用内核、加载文件系统及应用程序做基于ARM的网络数据库设计17好前期准备。412UBOOT及其编译UBOOT是众多BOOTLOADER中的一种。它是由来自德国的DENX小组在PPCBOOT和ARMBOOT的基础上开发出来的,遵循GPL的源码开放的项目,已被广泛应用于多种嵌入式系统的开发中。UBOOT的开发目的就是能够更稳定地支持更多的嵌入式CPU和嵌入式系统,更灵活地实现功能的设置,为产品开发提供便利。很多UBOOT源码是LINUX内核源代码的简化,如UBOOT的源码目录、编译形式都和LINUX内核十分的相似。本设计直接使用友善之臂提供的UBOOT,直接对其源码进行编译就可以使用了。编译的过程在UBUNTU下实现,进入源码的目录后,生成配置文件,使用的命令为MAKEMINI6410_SD_CONFIGRAM256,最终使用MAKE编译出UBOOTBIN文件。将安装到ARM上之前,要对NANDFLASH进行格式化。使用DNW程序将UBOOTBIN下载到开发板。42LINUX内核421内核的版本LINUX是在UNIX与MSDOS的夹缝中,在MINIX的引导下,在GNU、POSIX的帮助下终于在1991年8月发布了LINUX内核的第一个版本001版,造就了后来几十年的辉煌。自LINUX问世以来,系统的一直在进行着升级和维护。LINUX内核的版本又分为稳定版和开发板两种。稳定版的内核就有工业级的强度。新的稳定内核相对于较旧的只是修正啦一些BUG或加入了一些新的驱动程序。开发版的内核的变化很快,发布周期也都很短,主要是因为需要地反复实验,来验证各种解决方案。内核的两个版本相互关联与循环。422内核模块结构LINUX核心源程序通常都安装在目录/USR/SRC/LINUX下,一个目录就是一个模块。各个目录的用途如下(1)/INCLUDE该子目录包含了编译内核代码时所需的大部分包含文件。各类驱动或功能布局的头文件在/MEDIA、/MTD、/NET等目录下。(2)/DRIVERS该子目录包含当前版本的内核中的所有设备驱动代码,里面的每个子目录对应一类驱动程序,每种驱动程序各自占有一个子目录。基于ARM的网络数据库设计18(3)/INIT该子目录包含了初始化内核的代码。(4)/IPC该子目录包含了进程间通信的代码。(5)/LIB该子目录包含内核的库代码,分为与体系结构无关的内核库代码和与体系结构相关的内核库代码。(6)/MM该子目录包含所有的内存管理代码。(7)/FS该子目录包含了全部文件系统的代码和各种类型的文件操作代码。(8)/ARCH该子目录包含为不同硬件平台的体系结构而特制的内核代码。(9)/NET该子目录包含内核的网络部分代码。(10)/SCRIPTS该子目录下包含一些脚本文件。(11)/KERNEL该子目录包含了主内核的代码。423内核的配置配置内核的目的是,使内核在能够具备支持触摸屏、无线网卡、串口通信等驱动的支持和对文件系统的支持等功能的基础上,去掉不需要的选项,使其占用的内存变小,调高运行速率,最终能够满足嵌入式开发的要求。本设计选用的是友善之臂提供的内核,是一个已经完成很多配置的可以直接在开发板上进行使用的内核。鉴于本设计需要使用USB无线网卡,在配置内核时就需要加载对这部分的驱动。而由于LINUX内核中已经包含了众多USB无线网卡驱动,能够直接支持本设计使用的无线网卡。43文件系统LINUX系统将存储设备划分为若干个分区,不同分区存放不同类别的文件,它以树状结构管理所有目录。系统启动必需的文件合成为根文件系统,他们挂载在一个分区中,是LINUX系统启动后挂载的第一个分区。其他分区上所有目录、文件的集合,也称为文件系统。嵌入式系统采用FLASH作为存储器,由于FLASH特殊的硬件结构,必须采用专门的文件系统进行操作。本设计使用的文件系统是UBIFS格式的。UBIFS最早在2006年由IBM与NOKIA的工程师THOMASGLEIXNER,ARTEMBITYUTSKIY所设计,专门为了解决MTD(MEMORYTECHNOLOGYDEVICE)设备所遇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/HNNMIA 5-2024露天矿山生态修复评价技术规范
- 肝脏肿瘤射频消融术围术期护理规范
- 2026新消费时代主题酒店设计理念演变趋势
- 2026散装白糖季节性供需波动及价格预测模型分析报告
- 2026数字医疗市场格局分析及远程诊疗与投融资机会研究
- 2026年人工智能在医疗领域的创新应用与产业变革报告
- T/CATIS 020-2024数字贸易企业经营规范
- 《分数与除法的关系》课件
- 《孔子的仁学思想》课件
- 2026年智慧城市解决方案创新与挑战研究报告
- 急救知识科普宣传
- 2026-2027学年第一学期二年级班主任工作计划
- 压力容器材料代用规范与实践
- 2026经常项目外汇业务知识竞赛题库及答案
- 2026-2030中国磷酸三钙(TCP)(Cas 7758-87-4)行业市场发展趋势与前景展望战略分析研究报告
- 2026部编人教版二年级语文上册全册教案教学设计
- 自动扶梯安装施工方案
- 《地质公园拟建项目对地质遗迹及生态影响评价报告》编写提纲
- 玻璃安装安全技术交底
- 西医临床三基试题及答案
- 行政执法监督条例全文解读
评论
0/150
提交评论