基于ARMLINUX的嵌入式GUI的研究和移植.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARMLINUX的嵌入式GUI的研究和移植.doc

基于ARM?LINUX的嵌入式GUI的研究和移植 摘要:随着嵌入式系统的发展,用户对嵌入式系统的要求越来越高,因此用于实现与用户交流功能的嵌入式GUI成为嵌入式研究中的一个重点。该文首先介绍了什么是嵌入式系统和嵌入式系统中的GUI,并阐述了开发基于嵌入式Linux平台的GUI系统的必要性。然后详细的介绍了三种常见的嵌入式GUI系统(Microwindows、MiniGUI和QT)的设计结构和使用上的优缺点等,并列表进行了比较。最后,描述了每个系统基于ARMLinux平台的移植,包括编译环境的建立、编译选项的配置和修改以及运行时参数的设置等等。 什么是嵌入式系统   嵌入式系统一般指以嵌入式微处理器为核心,有别于PC系统,有计算机的部分功能但又不称之为计算机的设备或器材。它主要是以应用为目的,系统软硬件于一体,通常要求具有代码小、响应速度快、可靠性高、低功耗、集成度高等特点。嵌入式系统遍布于各个行业以及人们的日常生活当中,比如掌上PDA、移动计算设备、电视机顶盒、手机、汽车、数字相机、家庭自动化系统、安全系统、自动售货机、工业自动化仪表与医疗仪器等。  什么是嵌入式系统中的GUI   随着后PC时代的到来,嵌入式系统的性能有了大幅度的提高,应用范围也越来越广,当初的一些简单的人机交互接口已经无法满足人们的要求。而与此同时,在台式PC机上图形交互界面早已普及并成熟,于是在嵌入式系统中也逐渐出现了图形用户界面(GraphicUserInterface,GUI),特别是在一些消费类产品中。嵌入式系统中的GUI就是在嵌入式系统中为特定的硬件设备或环境而设计的图形用户界面系统。由于受到当前嵌入式系统本身特点的影响,并受其发展限制,所以嵌入式系统中的GUI应该有如下特点:   占用的存储空间以及运行时占用资源少;运行速度以及响应速度快;可靠性高;便于移植和定制。   Linux有开放的源码、高效稳定的内核、良好的开发环境以及支持多种硬件平台等特点,而且由于Linux的可配置性和可模块化,一个Linux内核经过配置和裁减可以只占用几百K左右的存储空间,使其在嵌入式系统中也得到广泛应用。然而,在嵌入式系统中有严格的资源限制,台式机Linux平台下成熟的GUI无法直接移植到嵌入式设备上。因此,嵌入式系统中基于Linux的GUI愈发成为开发基于Linux的嵌入式系统所必须面对的问题。目前,随着嵌入式行业分工的细化,出现了专门的公司致力开发Linux下的GUI并给其它公司提供授权,从而缩短了嵌入式系统的开发周期。本文就旨在于对这样的几种嵌入式GUI进行研究,列出表1进行比较,并介绍这几种GUI在基于ARMLinux上的移植。 几种比较成熟的嵌入式GUI的研究  Microwindows   Microwindows是由美国CenturySoftware公司开发的开放源码的嵌入式GUI项目。它不需要其他图形系统的支持,可以充分利用Linux提供的Framebuffer机制来进行图形显示。同时在底层提供了对多种芯片的支持,并基本上用C语言实现,因此移植性很强。国内也有人参与了这个项目的开发,并编写了GB2312等字符集的支持。   Microwindows是基于分层式设计的,它允许不同的层可以被重新设计以满足系统实现的需要,目前总共分为三层。最底层是屏幕、鼠标或触摸屏和键盘的驱动程序,用于实现系统的显示功能以及满足用户特有的输入需求。中间层实现了一个可移植的图形引擎,以提供对画线、填充、剪切和着色的支持。在最上层,则提供了多种的API给应用程序设计者。Microwindows支持两种API:ECMAAPIW(类Win32API)和Nano-XAPIs。这些API对Win32和XWindow系统有很好的兼容性,使程序可以很容易地从其它系统上移植过来。其中比较完备的是Nano-XAPI。Nano-X设计成是一个客户端/服务器的环境,在此模式下应用程序与一个客户端的库相连,而这个库则通过一个UNIXsocket与Nano-X服务器相连。每个应用程序都通过UNIXsocket来传递各种参数,并由服务端来完成客户端的各种请求。当为了满足运行速度以及调试的需求时,还可以通过共享的内存空间来完成传播数据。   由于Microwindows为了与XWindow的兼容,它采用了传统的基于UNIXsocket的客户端/服务器结构。此是,客户端的画图、窗口建立等操作都是通过套接字与服务器通信。在这种情况下,系统就变得非常依赖于UNIXsocket,而UNIXsocket的传递都需要通过内核,这样在一些对实时性要求比较高的系统里就不太有利。而且Microwindows基本上用C语言实现的,虽然增强了可移植性,但也同样导致了系统的运行效率不高。同时Microwindows的开发工

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档