嵌入式linux基于minigui信息终端软件开发论文内容摘要:

性,一般都固化在只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。 Linux 在嵌入式系统发展的初期,还没有出现操作系统的概念,大部分功能是用汇编语言来实现,由于这些汇编程序只能用于某一种特定的处理器,所以这种嵌入式系统的兼容性、通用性和扩展性都很差。 C 语言的出现使得嵌入式操作系统的开发变得简单、便捷和可靠。 自从上个世纪八十年代开始,出现了各种各样的商用嵌入式操作系统,逐步形成了百家争鸣的局面,较为流行有 VxWorks, pSOS, Neculeus, WindowsCE 等等。 在国内,嵌入式操作系统可分为两大类型 :一类是自主版权的操作系统,另一类是基于 Linux 的操作系统。 自主版权的操作系统方面,凯思集团自主研发的嵌入式操作系统 HopenOS(女 毕业设计 (论文 ) 第 6 页 蜗计划 )、中国科学院北京软件工程研发中心开发的 CASSPDA 以及浙江大学自行研发开发的嵌入式操作系统 HBOS(天堂之鸟 )、深圳桑夏公司推出了桑夏 2020 操作系统等。 中软和中科红旗等已经商业化运营的公司则致力于嵌入式 Linux 系统的开发。 其中,凯思集团的 Hopen 操作系统己经取得良好的市场反响 :与 TCL 联手推出了 TCL HiD; 与上海天亿合作推出了网络股票机 :还推出了基于 Hopen OS的 VOD/KTV宽频视讯转换盒和无线 PDA 产品方案以及联想天矶 911 产品和高中低阶产业应用解决方案。 Linux的特点和优点 嵌入式操作系统主要有 PalmOS, Windows CE, EPOC, LinuxCE, QNX, 等,高端嵌入式系统要求许多高级的功能,如图形用户界面和网络支持,很多高端 RTOS供应商已经提供了这些功能,但其价格也很高端,一般人难以接受。 微软的 Windows CE也有此类功能,却不具备大多数嵌入式系统要求的实时性能,而且难以移植,也曾经有人想以 DOS 为基础用单独的第三方工具拼凑一个系统,但这种努力将是白费。 现在需要的是一个便宜、成熟并且提供高端嵌入式系统所必须特性的操作系统,嵌入式 Linux操作系统以价格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量。 目前,嵌入式 Li nux 系统的研发热潮正在蓬勃兴起,并且占据了很大的市场份额,除了一些传统的 Linux 公司 (RedHat, MontaVista 等 )正在从事嵌入式 Linux 的开发和应用之外, IBM, Intel, Motorola 等著名企业也开始进行嵌入式 Linux 的研究。 在中国,以 Linux 为基础的嵌入式操作系统比较活跃,其中中软 Linux、红旗 Linux、东方 Linux 是业界的代表。 目前已经开发成功的嵌入式系统中,大约有一半使用的是 Linux[3]。 Linux 之所以能在嵌入式系统市场上取得如此辉煌的成果,与其自身的优良特 性是分不开的。 Linux 为嵌入操作系统提供了一个极有吸引力的选择,它是个和 Unix 相似、以核心为基础的、完全内存保护、多任务多进程的操作系统。 支持广泛的计算机硬件,包括 X86,Alpha,Sparc,MIPS,PPC,ARM,NEC,MOTOROLA 等现有的大部分 芯片。 程式源码全部公开,任何人可以修改并在 GM 通用公共许可证 (GNU General Public License)下发行,这样开发人员可以对操作系统进行定制,再也不必担心像 MS windows 操作系统中“咽喉”的威胁。 同时由于有 GPL 的控制,大家 开发的东西大都相互兼容,不会走向分裂之路。 Linux 用户遇到问题时可以通过 Inter 网 向七成千上万的 Linux 开发者请教,这使最困难的问题也有办法解决。 Linux 带有 Unix 用户熟悉的完善的开发工具, 毕业设计 (论文 ) 第 7 页 几乎所有的 Unix 系统的应用软件都已移植到了 Linux 上。 Linux 还提供了强大的网络功能,有多种可选择窗口管理器 (X windows)。 其强大的语言编译器 gcc, g++等也可以很容易得到。 不但成熟完善、而且使用方便。 图形用户界面 (GUI) 人机界面 UI(User Interface)又称人机界面 HCI(HumanComputer Interface)或者图形用户界面 GUI(Graphical User interface),是指计算机与其使用者之间的对话接口。 人机界面 HCI(HumanComputer Interface)是作为计算机系统的一个重要组成部分,是计算机行业重要的研究领域。 道格拉斯恩格尔巴特在 60 年代发明了图形用户界面。 图形用户界面 GUI(Graphical serine interface)的提出曾经是计算机发展史上划时代的创举,是计算机界面设计的一大 突破,可以说正是这一突破才使计算机真正进入千家万户。 显示在计算机屏幕上的内容在可视性方面大大改善,人们再也不用 像 从前一样需要记忆计算机文件的名称和路径。 由于图形用户界面对于减轻电脑操作者的记忆负担以及提供了一个良好的视觉空间环境,计算机终于发展成为一种工作场所 [4]。 图形用户界面有以下几个主要特征 : 1. WIMP 其中, W(Windows)指窗口,是用户或系统的一个工作区域,一个屏幕上可以有多个窗口 :I(Icons)指图符,系统形象化的图形标志,易于人们隐喻和理解。 M(Menu)指菜单,可供用户选择的功能提示 :P(Pointing Devices)指鼠标器等,便于用户直接对屏幕对象进行操作。 2. 用户模型 图形用户界面采用了不少桌面办公的隐喻,使使用者共享一个直观的界面框架。 由于人们熟悉办公桌面的情况,因而对计算机显示的图符的含义容易理解,诸如 :文件夹、收件箱、画笔、工作簿、钥匙及时钟等。 3. 直接操作 毕业设计 (论文 ) 第 8 页 过去的界面不仅需要记忆大量命令,而且需要指定操作对象的位置,如行号、空格数、 x 及 y 的坐标等。 采用图形用户界面后,用户可直接对屏幕上的对象进行操作,如拖动、删除、插入以至放大和旋转等。 用户执 行操作后,屏幕能立即给出反馈信息或结果,因而称为“所见即所得” (what you see is what you get)。 用视、点 (鼠标 )代替了记、击 (键盘 ),给用户带来了方便。 嵌入式系统下的 GUI 系统 (GUI) 在嵌入式系统中的地位 市场需求显示,越来越多的嵌入式系统,包括 PDA、机顶盒、等等系统均要求有一个高性能、高可靠的 GUI 的支持。 随着等嵌入式产品的广泛应用,图形用户界面 (GUI)广泛流行起来,是当今计算机技术的重大成就之一。 它极大地方便了非专业用户的使用,因此实 时嵌入式系统对 GUI 的需求越来越明显,而这一切均要求一个高性能,高可靠的 GUI 的支持。 由于嵌入式系统实时性要求非常高,对 GUI 的要求也更高。 这些系统一般不希望建立在庞大累赘的,非常消耗系统资源的操作系统和 GUI 上,比如 Windows或 X Windows,太过庞大和臃肿。 这些系统对轻型 GUI 的需求更加突出。 另外嵌入式系统又是一种定制设备,因为不同的需求,所以 GUI 必须是可定制的,一般嵌入式系统对 GUI 的基本要求包括轻型、占用资源少、高性能、高可靠性以及可配置 [57]。 综上所述, GUI 在嵌入式系统中的地位将越 来越重要。 GUI的实现方法 尽管实时嵌入式系统对 GUI 的需求越来越明显,但目前 GUI 的实现方法各不相同 : 1. 某些大型厂商有能力自己开发满足自身需要的 GUI 系统。 2. 某些厂商没有将 GUI 作为一个软件层从应用程序中剥离, GUI 的支持逻辑由应用程序自己来负责。 3. 采用某些比较成熟的 GUI 系统,比如 MiniGUI, Micro Windows, 或者其它 GUI系统。 在上述 的 实现方法中,第 2 种方法是一种临时解决方案。 利用这种手段编写的程序,无法将显示逻辑和数据处理逻辑划分开来,从而导致程序结构不好, 不便于调试,并导 毕业设计 (论文 ) 第 9 页 致大量的代码重复。 GUI 是一种类似于操作系统的基础软件,这种软件系统应该遵循一定的标准,并且应该是开放源码的自由软件,从而可以让开放商集中精力开发自己的应用程序。 目前在 Linux 之上进行 (实时 )嵌入式系统开发的厂商,一般选择如下几种 GUI 系统 :精简的 X Windows 系统 , MiniGUI , Micro Windows, OpenGUL, QT/Embedded 等。 下面简单介绍这些系统。 1. MiniGUI MiniGUI 是由原清华大学教室魏永明先生开发,是一种专门面向嵌入式系统或者实时系 统的图形用户界面支持系统。 目前已经广泛应用于手持信息终端、机顶盒、工业控制系统以及工业仪表、查询终端、便携式多媒体播放机等领域。 它己经成为跨操作系统的图形用户界面支持系统,可在 Linux/uClinux, eCOS, VxWorks, pSoS, Threads 等操 作 系 统 以 及 Win32 平 台 上 运 行 ; 己 验 证 的 硬 件 平 台 包 括 Intel x86 , ARM(ARM7/ARM9/StrongARM/xScale), PowerPC, MIPS, M68K 等等。 MiniGUI 同时也是国内最早出现的几个自由软件之一。 它是面向嵌入式系 统的轻量级图形用户界面支持系统。 MiniGUI 具有小巧、开源、跨操作系统、高效、可配置等优势。 2. Micro Windows Micro Windows 是一个著名的开放源码的嵌入式 GUI 软件。 目前由美国一家公司在主持开发。 该项目的开发非常活跃,国内也有人参与了其中的开发,并编写了 GB2312等字符集的支持。 该项目的主要特色在于提供了比较完善的图形功能,包括一些高级的功能,比如 Alpha 混合,三维支持, True type 字体支持等。 Micro Windows 提供了现代图形窗口系统的一些特性。 Micro Windows API 接口支持类 WIN32 API,接口试图和WIN32 完全兼容。 它还实现了一些 WIN32 用户模块功能。 Micro Windows 采用分层设计方法,以便不同的层面能够在需要的时候改写,基本上用 C 语言实现。 Micro Windows已经支持 INTEL16 位和 32 位 CPU, MIPS R4000 以及 ARM 芯片。 但作为一个窗口系统,该项目提供的窗口处理功能还需要进一步完善,比如控件或构件的实现还很不完备,键盘和鼠标等的驱动还很不完善。 3. OpenGUI OpenGUI 在 Linux 系统上存在己经很长时间了。 最 初的名字叫 FastGL,只支持 256的线性显存模式。 但目前也支持其他显示模式。 这个库是用 C++编写的,只提供 C++ 毕业设计 (论文 ) 第 10 页 接口。 OpenGUI 基于一个用汇编实现的 X86 图形内核,提供了一个高层的 C/C++图形 /窗口接口。 OpenGUI 提供了二维绘图原语、消息驱动的 API 及 BMP 文件格式支持。 OpenGUI 功能强大,使用方便。 甚至可以实现 Borland BGI 风格的应用程序,或者是QT 风格的窗口。 OpenGUI 支持鼠标和键盘事件,在 LINUX 上基于 Frame buffer 或者SVGALib 实现绘图。 Linux 下 OpenGUI 也支持 Mesa3D。 颜色模型方面, OpenGUI 已经支持 8, 15, 16 和 32 位模型。 由于其基于汇编实现的内核并利用 MMX 指令进行了优化, OpenGUI 运行 速度非常快,由于其基于汇编实现的内核并利用 MMX 指令进行了优化, OpenGUI 运行速度非常决,可以用 UltraFast 形容,它支持 32 位的机器,能够在MSDOS, QNX 和 Linux 下运行。 主要用来在这些系统中开发图形应用程序和游戏。 由于历史悠久, OpenGUI 非常稳定。 当然,也可以看出来,由于其内核用汇编实现,可移植性受到了影响。 通常在 驱动程序一级性能和可移植性是矛盾的,我们必须找到一个折衷。 4. 紧缩的 X Window 系统 X Window 是 Linux 以及其他类 UNIX 系统的标准 GUI。 X Window 系统采用标准的客户 /服务器体系结构,具有可扩展性好、可移植性好等优点。 但该系统的庞大、累赘和低效率也是大家所共知的。 为了获得应用程序的可移植性,许多厂家都试图通过对X Window 系统的紧缩开发,使之能够在嵌入式系统上运行。 国外己经开发出了大小约为 800K 的 X 服务器。 这对西方国家来说基本能够满足嵌入式系统的需求了。 但该系统的源代码尚不开放, 从而很难进行本地化开发。 GUI系统之比较 比较上述几个面向嵌入式系统的 GUI,我认为目前比较成熟,同时得到最多开发人员认可的有紧缩的 X Window 系统、 MiniGUI、 Micro Windows 等系统。 Q。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。