基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc

上传人:laozhun 文档编号:2392787 上传时间:2023-02-17 格式:DOC 页数:56 大小:2.79MB
返回 下载 相关 举报
基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc_第1页
第1页 / 共56页
基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc_第2页
第2页 / 共56页
基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc_第3页
第3页 / 共56页
基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc_第4页
第4页 / 共56页
基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc》由会员分享,可在线阅读,更多相关《基于嵌入式GUI的工作日志记录器的设计与开发本科毕业设计.doc(56页珍藏版)》请在三一办公上搜索。

1、上海电力学院本科毕业设计(论文) 题目:基于嵌入式GUI的工作日志记录器的设计与开发院系:计算机信息与工程学院毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论

2、文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论

3、文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力

4、 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格

5、 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位:

6、 (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中

7、 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日基于嵌入式GUI的工作日志记录器的设计与开发摘要 嵌入式系统已经成为中国IT业发展的重要产业,而开源又稳定的Linux又是嵌入式行业发展的重要支柱,嵌入式Linux系统可分为ETLinux,uCLinux,Debian,Mandrake,Red Hat,和SuSE等等版本。GUI是一种以图形化为基础的用户界面,使用统一的图形操作系统,如可移动的视窗、选项与鼠标。GUI

8、最重要的优势在于使用户摆脱了在命令行提示符下与操作系统进行交互的方式,用户可以仅仅通过鼠标点击来熟悉程序的操作,GUI已成为一种用户与计算机交互的标准,一个设计良好的GUI应用程序能够从本质上改变嵌入式产品给大众带来的用户体验,所以GUI应用程序的设计使嵌入式能在普通大众中得到推广的非常重要环节。而本次设计的GUI应用程序:工作日志记录器就是一个多窗口的应用程序,它连接了一个QT提供的简单的QSqlite数据库,通过简单的触摸屏点击及键盘输入便能够记录一天内做了些什么事情的小程序。并且可以对所建立的工作日志记录表进行添加、查找、修改、删除记录等功能。本文简要介绍嵌入式Linux内核以及应用Qt

9、/Embedded移植一个图形界面程序到MINI2440实验板的过程。关键词 嵌入式系统 GUI Qt/Embedded MINI2440 Linux2.6.32 S3C2440Embedded GUI-based work logger design and development Abstract Embedded systems have become an important industry of Chinas IT industry, and the Linux open-source and stable development of the industry is an imp

10、ortant pillar of the embedded, embedded Linux systems can be divided into ETLinux, uCLinux, Debian, Mandrake, Red Hat, and SuSE so version. GUI is a graphical user interface into the base, with a unified graphical operating systems, such as the removable window, options, and mouse. The most importan

11、t advantage of GUI enables users to get rid of the command line prompt to interact with the operating system means users can simply click the mouse to become familiar with the programs operation, GUI has become a standard user to interact with the computer, a design good GUI application to change fr

12、om essentially bring embedded products to the public user experience, so the GUI application design embedded in the general population has been a very important part of the promotion. This time, the design of the GUI application: working logger is a multi-window application, connect it to provide a

13、simple QSqlite QT database, click through simple touch-screen and keyboard will be able to record done in one day things applet. And can work for the establishment of logging table to add, search, modify, delete records and other functions. This paper introduces the process of embedded Linux kernel

14、and the application of Qt / Embedded GUI program to transplant a test board MINI2440 . Keywords Embedded system GUI Qt/Embedded MINI2440 Linux2.6.32 S3C2440目录1 前言11.1 研究背景11.2 研究的目的和意义22 嵌入式系统以及嵌入式LINUX32.1 嵌入式系统概述32.2 Linux内核73 嵌入式图形用户界面83.1 嵌入式GUI概述83.2 嵌入式GUI的分类94 嵌入式GUI的开发软硬件环境104.1 硬件平台简介104.2

15、开发板主要资源114.3 S3C2440处理器简介124.4 软件开发环境134.4.1 操作系统的选择及安装134.4.2 交叉编译环境的搭建144.5 移植LINUX内核2.6.32174.6 开发板文件系统的构建205 工作日志记录器的设计255.1 图形用户界面设计265.2 应用程序功能设计285.3 设计成果316 结论327 谢辞338 参考文献349 附录361 前言随着时代的发展,半导体工艺的进步并且随着3C技术(消费类电子,计算机,通信)融合的趋势不可阻挡,嵌入式系统也将得到迅猛的发展,对嵌入式系统的要求也逐步的提高,嵌入式技术的研究与发展也成为当今最热门的话题。嵌入式系统

16、是嵌入到对象体系中的专用计算机系统。以嵌入式计算机为核心的嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。1.1 研究背景嵌入式系统无疑是当今最热门的概念之一,嵌入式系统的一般定义为:是以应用为中心,以计算机技术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统一级用户的应用程序4个部分组成,用于实现对其他设备的控制、监视或管理等功能。而电气工程师协会更权威的定义为:嵌入式系统是用来控制或者监视机器、装置、工厂等大规模系统的设备。北航何立民教授则定义凡是具有“嵌入性”、“专用性

17、”与“计算机系统”这三个基本要素的就是嵌入式系统。由于嵌入式系统具有体积小,性能好,功耗低,可靠性高以及面向行业应用的突出特征,目前已经广泛地应用于军事国防,消费电子,信息家电,网络通信,工业控制等领域。嵌入式系统可以说是无所不在,无处不在,就周围的日常生活用品而言,各种电子手表,电话,PDA,洗衣机,电视机,电饭锅,微波炉,空调器都有嵌入式系统的存在,如果说我们生活在一个到处是嵌入式的世界,是毫不夸张的。嵌入式操作系统要应合嵌入式的特点,根据系统的要求分配所有嵌入式的软、硬件资源的分配、调度工作,同时又不能像通用计算机那样使用一个大型的操作系统来完成所需要的所有功能,嵌入式操作系统是一种面向

18、专门应用的,只需要完成应有功能而不能有太大资源浪费的体积小,性能好,功耗低的操作系统。而LINUX操作系统是现代操作系统的典型代表,在保证可靠性较好的前提下,她的源代码都是开放的,所以可定制性、可移植性也非常好,作为嵌入式操作系统,LINUX可以说是非常合适的。在选择好操作系统后,就要考虑更高一级的用户体验方面的问题了。GUI(用户图形界面交互系统)摆脱了命令行操作的传统计算机系统的诟病,使一般的用户(并不拥有十分专业的计算机知识的人)也能够很轻易的根据图形化界面以及相关的提示界面进行操作。而这样的优点正是我们嵌入式系统所需要的。现在LINUX下面进行GUI应用程序开发与设计的最红火的平台就是

19、QT,QT是LINUX下的C+程序开发框架,它能够很好的开发高性能、跨平台的客户端以及服务端程序,并且LINUX下面的很多GUI界面应用程序都是建立在QT库之上的。1.2 研究的目的和意义随着现代嵌入式系统越来越多,嵌入式产品的种类越来越广泛,目标产品对GUI的需求越来越多,要求也越来越高。当初的一些简单的人机交互已经无法满足现代嵌入式产品的要求,当今几乎只要是面向人机交互的嵌入式产品,就会涉及到文字编辑、图形视频,甚至是通过WIFI或者3G进行INTERNET浏览,所有上述的功能都要求有一个可靠的GUI应用程序框架。由于嵌入式系统的资源比较有限,对GUI的要求也更高。这些产品一般不可能建立在

20、庞大的、非常消耗系统资源的GUI和大型操作系统上,如Windows或X Window上,于是,嵌入式产品对GUI的“轻型”要求特别高,任何不必要的资源消耗都应该在系统定制以及程序编写的时候给删掉。另外嵌入式系统往往是一种定制设备,它们对GUI的需求也各不相同。有些系统只要求一些图形功能,而有些系统要求完备的GUI支持,因此,GUI也必须是可定制的。嵌入式系统对GUI的基本要求包括:轻型的、占用资源少、高性能、高可靠性及上层接口与硬件无关,高度可移植可配置。Qt/Embedded是一个专门为小型设备提供图形用户界面的应用框架和窗口系统,是高端嵌入式设备PDA及手机的主流开发工具。作为一项成熟的技

21、术,KDE(Kool Desktop Environment,k桌面环境)桌面系统对于嵌入式窗口系统的设计有很大参考价值,Qt/Embedded给嵌入式窗口系统提供了很好的框架,提供了丰富的窗口小部件(Widgets),并且还支持窗口部件的定制,因此它可以为用户提供漂亮的图形界面。Qt/Embedded是KDE等项目使用的GUI支持库,所以有许多基于Qt/Embedded 的X Windows程序可以非常方便地移植到Qt/Embedded版本上,而本文所述设计主要是基于Qt/Embedded的应用上。2 嵌入式系统以及嵌入式LINUX随着数字信息技术和网络技术的高速发展,建立在其基础上的嵌入式

22、系统(embedded system)已经进入到人们生活的方方面面,如信息家电概念中的机顶盒、网络智能冰箱和工业控制中的智能测试仪器、网络仪器等。随着嵌入式技术的进一步应用,它和人们的生活也将息息相关。我们可以想象有人可能没有接触过计算机,但很难想象他从来没接触过嵌入式系统!因为嵌入式系统无处不在,从收集、PDA、汽车到探测卫星等,这些都是典型的嵌入式系统的应用。2.1 嵌入式系统概述所谓“嵌入式系统”实际上是“嵌入式计算机系统”的简称,借用电气工程师协会(IEE)的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等大规模系统的设备。也有人如此定义嵌入式系统:它是计算机软件与硬件的综合体,

23、使以应用为中心,以计算机技术为基础,软硬件可剪裁,从而能够适应实际应用中对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。可以说,对嵌入式系统没有一个非常明确的定义,但这并不影响其作为一个热门话题。嵌入式系统必须由硬件系统和软件系统组成。其硬件不可避免地由三大部分组成,那就是中央处理器(CPU)、存储器以及输入/输出手段。它要求软硬结合,并融为一体而成为产品。芯片加软件就成为产品,但要有相应的开发工具辅助进行开发。嵌入式系统是面向应用、面向产品的(于桌面计算机PC不同),因此成本因素非常关键。据不完全统计,全世界嵌入式处理器已经超过1000种,流行的体系结构有30多个系列。在手机、P

24、DA行业,大部分采用ARM核结构为主。把嵌入式计算机分为下面几类:嵌入式微处理器EMPU,嵌入式微控制器MCU,嵌入式DSP处理器EDSP和嵌入式片上系统SoC。嵌入式处理器体系结构经历了从CISC(复杂指令集)到RISC(精简指令集)和Compact RISC的转变,常用的体系结构有:X86、ARM、MIPS及PowerPC等。其他外部设备有LCD触摸屏、键盘控制、串行口、并口、网口、USB、A/D和PCI总线等。嵌入式系统无多余的软件,并且软件一般固化在ROM或者FLASH芯片上,硬件也无多余RAM存储器容量,具有要求系统运行可靠性高、成本低、体积小和功耗少等特点。在嵌入式系统中,采用OS

25、的嵌入式系统一般都是任务相对复杂,CPU数据长度为16/32/64位的高档微控制器,有实时性的要求。而16位以下的单片机系统一般都无OS的要求,控制和编成也相对简单。除了OS之外,嵌入式系统最重要的部分就是应用软件的编写,因为每个行业的自身特点不同,产品的特点也不同,所需要的应用程序也不同。通用计算机行业的技术是垄断的。计算机PC产业中,89%采用了INTEL的8X86体系结构,芯片基本上出自INTEL、AMD等几家公司。软件则主要是WINDOWS系统以及其相配套的如OFFICE、IE等应用软件,所以传统计算机是一个WINTEL垄断的工业。但是嵌入式系统就不同了,它是一个分散的工业,在这个领域

26、充满了竞争、机遇与创新,没有哪一个系列的处理器和操作系统能够垄断全部市场,呈现一种“百花齐放”的景象。即便在体系结构上存在着主流,但各不相同的应用领域决定了不可能由少数公司、少数产品垄断全部市场。因此,嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小规模搞技术公司的创新与第很大。另外,社会上的各个应用领域是在不断向前发展的,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌入式工业发展的强大动力。嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件及应用软件的要求也和通用计算机有所不同12。软件要求固态化存储为了提高执行速度和系统可靠性,嵌入式系统中的软

27、件一般都固化在非易失性存储器芯片或单片机本身中,而不是存储与磁盘等载体中。软件代码高质量、高可靠性尽管半导体技术的发展使处理器速度不断提高,片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,编译后的代码要优化,以减少程序二进制代码的长度,提高执行速度。系统软件(例如OS)要有一定的实时性在多任务嵌入式系统中,对重要性格不相容的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键。这种任务调度应该由优化编写的系统软件来完成,但通过提高处理器速度也可以在一定程度上予以弥补。多任务操作系统是知识集成的平台和走向工业标准化道路的

28、基础嵌入式操作系统是由于工程实践的需要而诞生的,因为控制程序应嵌入式系统得应用领域日益扩大而所提供的功能也越来越复杂,而这些功能大多是可以由操作系统来提供的。嵌入式操作系统所使用的技术,基本上是从PC操作系统下推而来的。由于应用的需要和硬件条件的限制,嵌入式操作系统一般更加注重占用空间小和效率高等特点。把嵌入式操作系统引入到嵌入式系统中,能够对嵌入式系统的开发产生极大的推动作用。在没有操作系统的嵌入式系统下,每当要进行进一步的开发和功能的扩展,都会带来巨大的劳动力的无谓消耗。而嵌入式操作系统则可以通过提供给用户的各种API,来对嵌入式系统进行有效的管理。嵌入式LINUX的特点和优势从20世纪8

29、0年代开始,出现了如VxWorks、pSOS、Nucleus、Palm OS 和 Windows CE等商用嵌入式操作系统。但这些操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极性,因为这些EOS提供给编程人员的,往往只有API应用编程接口,一般以函数形式出现,这些函数均是不能修改的。另外,结合国内实情,当前国家对自主操作系统的大力支持,也为源代码开放的Linux的推广提供了广阔的前景。Linux操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。此后借助于因特网,经过全世界各地

30、计算机爱好者的共同努力,现已成为当今世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。Linux的特点如下:1开放性是指系统遵循世界标准规范,特别是遵循开放系统互联(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互联。Linux采用GPL授权,除了把源代码公开以外,任何人都可以自由使用、修改、散布;而Linux核心本身采用模块化设计,让人很容易增减功能,由于Linux具有这样高的可伸缩性,所以可以调出最适合我们硬件平台的核心出来。2多用户是指系统资源可以被不同用户各自拥有并使用,即每个用户对自己的资源有特定的权限,互不影响。Linux和UNIX都

31、具有多用户的特性。3多任务是现代计算机最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。4稳定性强,Linux不属于任何一家公司,但它却拥有全世界愿意投入自由软件的开发人员。在全球各处都有无数的人参与Linux核心的改进、调试与测试,也正因此造就了稳定度高的Linux。所以,Linux虽不是商业的产物,但它的质量却不逊于商业产品。5设备独立性,是指操作系统把所有外部设备统一当做文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、

32、使用这些设备,而不必知道它们的具体存在形式。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。 6提供了丰富的网络功能完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。Linux为用户提供了完善的、强大的网络功能,包括支持Internet、文件传输和远程访问。7可靠的系统安全在Linux操作系统中采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这些措施为网络多用户环境中的用户提供了必要的安全保障。8良好的可移植性可移植性是指将操作系统从一个平台转移到另一个平台,并

33、使它仍然能按其自身的方式运行的能力。Linux一开始是基于Intel 386机器设计的,但是随着网络的散布,加上有许多工程师致力于各式平台的移植,使得Linux可以在x86、MIPS、ARM/StrongARM、PowerPC、Motorola 68k、Hitachi SH3/SH4、Transmeta等平台上运行。这些平台几乎覆盖了所有嵌入式系统的CPU种类,这样,在硬件平台设计时,使得可以考虑的CPU种类增加了不少34。9应用软件多自由软件世界里有个很大的特点就是软件多,授权几乎都是采用GPL方式,大家都可以自由参考与使用,但是因为这些软件多半是由设计者利用空余时间开发的,不以赢利为目的,

34、所以并不能担保这些软件完全没有问题。尽管如此,仍有许多优秀软件出现,例如,大家熟知的KDE与GNOME便是很好的证明。 2.2 Linux内核内核是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用。操作系统的代码分为以下两部分,内核所在的地址空间称为内核空间,外部管理程序与用户进程所占据的地址空间称为外部空间(用户空间)。通常,一个程序会跨越两个空间。当执行到内核空间的一段代码时,称程序处于核心态;而当程序执行到外部空间代码时,称程序处于用户态5。Linux系统使用了单一内核结构。Linus Torvalds将代码执行效率作为自己操作系统的第一要务。在这样的发展过程中,比起结构

35、的清晰,他们更加注重功能的强大和高效率的代码。于是,他们将大量的精力花在优化代码上,而这样的全局性优化必然以损失结构精练作为代价,导致Linux中的每个部件都不能被轻易拆出,否则,必然破坏整体效率。 虽然Linux是一个单一内核操作系统,但它与传统的单一内核UNIX操作系统不同。在普通的单一内核系统中,所有内核代码都是被静态编译连入的。而在Linux中,可以动态装入和卸载内核中的部分代码。Linux中将这样的代码段称为模块(Module),并对模块给予了强有力的支持。在Linux中,可以在需要时自动装入和卸载模块。Linux操作系统的内核稳定而高效,以独占的方式执行最底层任务,来保证其他程序的

36、正常运行。它是整个操作系统的核心,具有独特的性质67。 Linux内核系统体系结构,Linux内核主要由5个模块构成,它们分别是:进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块。进程调度模块用来负责控制进程对CPU资源的使用,所采取的调度策略是各进程能够公平合理地访问CPU,同时保证内核能及时地执行硬件操作。内存管理模块用于确保所有进程能够安全地共享机器主内存区,同时,内存管理模块还支持虚拟内存管理方式,使得Linux支持进程使用比实际内存空间更多的内存容量,并可以利用文件系统把暂时不用的内存数据块交换到外部存储设备上去,当需要时再交换回来。文件系统模块用于支持对外部设

37、备的驱动和存储,虚拟文件系统模块通过向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节,从而提供并支持与其他操作系统兼容的多种文件系统格式。进程间通信模块子系统用于支持多种进程间的信息交换方式。网络接口模块提供对多种网络通信标准的访问并支持许多网络硬件8。3 嵌入式图形用户界面图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。 3.1 嵌入式GUI概述嵌入式GUI(Graphics User Interface)

38、为嵌入式系统提供了一种应用于特殊场合的人机交互界面。嵌入式GUI要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。另外,由于嵌入式系统硬件本身的特殊性,嵌入式GUI应具备高度可移植性与可裁减性,以适应不同的硬件条件和使用需求。 总体来讲,嵌入式GUI具备以下特点:体积小、运行时耗用系统资源小、上层接口与硬件无关、高度可移植、高可靠性、可配置9。 3.2 嵌入式GUI的分类目前在常用的嵌入式GUI领域,广泛使用的有QT/Embedded、Microwindows和MiniGUI三种。由于嵌入式开发人员对实时嵌入式系统在理解上的不同,是的这些GUI系统在接口定义、体系结构、

39、功能特性等方面存在很大差别,它们所采取的技术路线也有所不同。三种GUI优缺点分析下面以形式总结以上说叙述的三种图形用户界面GUI的优缺点:图形用户界面优点缺点MiniGUI(1)轻量级的图形用户界面支持(2)系统图形抽象层(3)多字体和多字符集支持(4)两个不同架构的版本Mini-thread和Mini-lite(1)控件功能不够丰富(2)C代码,扩展不利Microwindows(1)开源项目(1)典型的基于C/S体系结构(3)最底层是面向图形输出和键盘、鼠标或触摸屏的驱动程序,中间层提供底层硬件抽象接口(1)无任何硬件加速能力(2)图形引擎中存在许多低效算法,同时未经任何优化(3)代码质量差

40、Qt/Embedded随意设置程序界面的外观非常容易的根据硬件特性定制有针对手机的Qtopia应用套件商用客户较多当移植Qt/Embedded程序到不同平台时,只需要重新编译代码,而不需要对代码进行修改程序本地化很容易程序与Java集成很容易代码量过大,最好用于flash大的智能手机结构过于复杂,很难进行底层太多的扩充商用需要一定的授权费用表格 3-1 三种GUI优缺点分析综上对比,不难看出,Qt/Embedded是一个专门为小型设备提供图形用户界面的应用框架和窗口系统。Qt/Embedded是高端嵌入式设备PDA及手机的主流开发工具。作为一项成熟的技术,KDE桌面系统对于嵌入式窗口系统的设计

41、有很大参考价值,Qtopia给嵌入式窗口系统提供了很好的框架,提供了丰富的窗口小部件(widgets),并且还支持窗口部件的定制,因此它可以为用户提供漂亮的图形界面。Qt是KDE等项目使用GUI支持库,所以有许多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上101112。4 嵌入式GUI的开发软硬件环境本章主要介绍设计基于GUI的嵌入式工作日志记录器所用到的软件和硬件平台,其中硬件主要是MINI2440开发板、三星S3C2440处理器而软件主要是QT集成开发环境QT sdk。此设计的主要工作是在Linux(本次设计所使用的Linux发行版为红帽的桌面系统Fedo

42、ra9)下ARM交叉环境的搭建,在Windows xp下QT SDK的安装以及设计编写工作日志记录器的主程序。Linux内核的移植,文件系统的构建(包括能在ARM上运行的QT/E 4.6.3库和交叉编译完成后的工作日志记录器程序)与移植。4.1 硬件平台简介Mini2440 是一款真正低价实用的ARM9 开发板,是目前国内性价比最高的一款学习板;它采用Samsung S3C2440 为微处理器,并采用专业稳定的CPU 内核电源芯片和复位芯片来保证系统运行时的稳定性。mini2440 的PCB 采用沉金工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性,生产采用机器贴片,批量生产;出厂时

43、都经过严格的质量控制。4.2 开发板主要资源SDRAM存储系统Mini2440 使用了两片外接的32M bytes 总共64M bytes 的SDRAM 芯片(型号为:HY57V561620FTP/MT48LC16M16A2),一般称之为内存,它们并接在一起形成32-bit 的总线数据宽度,这样可以增加访问的速度;因为是并接,故它们都使用了nGCS6 作为片选,CPU 手册,这就决定了它们的物理起始地址为0x30000000。电源系统及接口本开发板的电源系统比较简单,直接使用外接的5V 电源,通过降压芯片产生整个系统所需要的三种电压:3.3V、1.8V、1.25V。请注意,本开发板并非面向手持

44、移动设备设计,因此它并不具备完善的电源管理电路。整个系统的电源通断是由S1 拨动开关控制的,它不能通过软件实现开关机。为了方便用户外接其他电源,我们还设计了一个电源接口 CON8,它是一个白色2.0mm 间距的单排插座,中间均为“地”,两侧均为5V。注意,这两个5V 并非是相通的,其中一个连接了外部电源的5V,另外一个则连接了经过拨动开关S1 之后的5V。串口S3C2440 本身总共有3 个串口UART0、1、2,其中UART0,1 可组合为一个全功能的串口,在大部分的应用中,我们只用到3 个简单的串口功能(本开发板提供的Linux 和WinCE驱动也是这样设置的),即通常所说的发送(TXD)和接收(RXD),它们分别对应板上的CON1、CON2、CON3,这3 个接口都是从CPU 直接引出的,是TTL 电平。为了方便用户使用,其中UART0 做了RS232 电平转换,它们对应于COM0,可以通过附带的直连线与PC 机互相通讯。USB接口本开发板具有两种USB 接口,一个是USB Host,它和普通PC 的USB 接口是一样的,可以接USB 摄像头、USB 键盘、USB 鼠标、优盘等常见的USB 外设,另外一种是USB Slave,我们一般使用它来下载程序到目标板,当开发板装载了Wi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号