没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式系统/ARM技术中的基于Linux的轻量级嵌入式GUI系统及实现
1 下载量 154 浏览量
2020-11-10
01:57:04
上传
评论
收藏 147KB PDF 举报
温馨提示
1、引言 近年来,随着信息家电、手持设备、无线设备的迅速发展,人们对嵌入式系统的需求逐渐增多,要求也越来越高。这使为嵌入式系统提供一个友好方便、稳定可靠的G UI系统成为非常紧迫要求[5]。嵌入式技术是当前微电子与计算机技术中的一个重要分支[1], 它是指以应用为中心, 以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等的严格要求的专用计算机系统[2]。常用的PC机上的GU I因嵌入式设备对资源的严格要求显得过于庞大,而不适合嵌入式系统[6]。与普通环境下的GUI 系统相比较.嵌入式环境下的GUI 系统要求轻型、占用资源少、高性能、高可靠性、可配置等。同
资源详情
资源评论
资源推荐
嵌入式系统嵌入式系统/ARM技术中的基于技术中的基于Linux的轻量级嵌入式的轻量级嵌入式GUI系统系统
及实现及实现
1、引言 近年来,随着信息家电、手持设备、无线设备的迅速发展,人们对嵌入式系统的需求逐渐增多,要
求也越来越高。这使为嵌入式系统提供一个友好方便、稳定可靠的G UI系统成为非常紧迫要求[5]。嵌入式技术
是当前微电子与计算机技术中的一个重要分支[1], 它是指以应用为中心, 以计算机技术为基础,软件、硬件可
裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等的严格要求的专用计算机系统[2]。常用的PC机上的
GU I因嵌入式设备对资源的严格要求显得过于庞大,而不适合嵌入式系统[6]。与普通环境下的GUI 系统相比
较.嵌入式环境下的GUI 系统要求轻型、占用资源少、高性能、高可靠性、可配置等。同
1、引言
近年来,随着信息家电、手持设备、无线设备的迅速发展,人们对嵌入式系统的需求逐渐增多,要求也越来越高。这使为
嵌入式系统提供一个友好方便、稳定可靠的G UI系统成为非常紧迫要求[5]。嵌入式技术是当前微电子与计算机技术中的一个
重要分支[1], 它是指以应用为中心, 以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体
积、功耗等的严格要求的专用计算机系统[2]。常用的PC机上的GU I因嵌入式设备对资源的严格要求显得过于庞大,而不适合
嵌入式系统[6]。与普通环境下的GUI 系统相比较.嵌入式环境下的GUI 系统要求轻型、占用资源少、高性能、高可靠性、可
配置等。同时,由于嵌入式环境的多样性,跨平台、高移植性也是嵌入式GUI系统必须具备的特点。
尽管嵌入式系统对GUI 的需求越来越明显,但目前GUI的实现方法各有不同,主要有二种; 第一种方法是某些大型厂商针
对自身需要自主开发满足自身需要的GUI 系统;第二种方法是某些厂商使用某些比较成熟的GUI系统。对于大部分厂商来说,
第二种方法不失为一个省时省力、又可取得较好效果的方法。
2 GUI 系统发展概况
目前国内外已经推出了很多基于Linux的GUI产品, 比较成熟的面向嵌入式的GUI 系统有QtEmbedded 、MicroWindows
、MiniGUI 、WinCE 等[4]。
1)Microwindows 是一个公开源码(LGPL)的项目。它致力于为一些小型的设备和平台提供现代图形窗口环境的一些特性,
其主要特色是一个基于客户/服务器体系结构的GUI 系统,采用了面向硬功件的驱动程序层、对硬件的接口层、向高层操作系
统的API 层的三层体系结构。并提供了相对完善的图形功能, 以及一些其他较高级的功能,比如Alpha 混合、三维支持、
TrueType 字体支持等。但是有如下缺点:无任何硬件加速能力,图形引擎中存在许多低效算法,且代码质量较差。
2)MiniGUI是在Linux 控制台上运行的,基于SVGALib 和LinuxThread 库的多窗口图形用户界面支持系统。主要特色是基
于线程来编写,所有的应用研究程序都运行在同一个地址空间,这样可以提高系统的效率。底层增加了图形抽象层GAL 和基
于输入设备的输入抽象层作为提供底层Linux 控制台或者XWindow 上的图形接口以及输入接口。但是API没有封装,不便移
植,功能限制其不能用于更大的嵌入式系统。
3)Qt/Embedded 是著名的Qt库开发商Trolltech 公司开发的,是一个专门为嵌入式系统设计的图形用户界面工具包。它
的主要特点是可移植到不同平台上、拥有自己的窗口系统、拥有自己强大的开发工具和编程接口、提供压缩字体格式、支持
Unicode, 可以轻松地使程序支持多种语言。但是Qt/Embedded 不是免费的,使用者必须支持license 费用。
4)OpenGL 采用LGPL 条款发布。OpenGUI 比较适合于基于x86 平台的实时系统,基于汇编实现的内核,并利用MMX 指
令进行了优化使其运行速度快,但可移植性稍差。
这几种GUI 的设计目标仍然是通用性,它们大多支持多窗口的随意切换、覆盖,以及可移动、可动态改变尺寸的窗口,诸
如此类在多数嵌入式应用中几乎永远用不到的特性,使得应用程序的开发要考虑很多不必要的细节[5]。
以上的嵌入式GUI 系统已很成熟,但是对于一些需求自主开发轻型、功能简洁、专用性强GUI 系统的用户来说,以上的产
品并不是一个很好的选择。以上的GUI 系统一部分是收费的商业产品,另外是通用的GUI功能系统,对硬件资源非常看重的嵌
入式系统来说,多余无用的功能浪费硬件资源绝不是好的选择。本文针对开发小型专用的嵌入式GUI 系统进行了研究,实现专
用的GUI 系统的开发。
3 轻量级GUI 的设计与实现嵌入式GUI 系统采取分层设计的结构,对不同层次进行封装。在最低层建立了硬件抽象层
(HAL,Hard Abstract Layer),为基于图形显示设备(如VGA 卡)的图形抽象层(Graphic Abstract Layer,GAL)和基于输入设
备(如键盘、触摸屏等)的输入抽象层(Input Abstract Layer,IAL) 。图形抽象层GAL 建立在各种流行的绘图引擎之上,屏蔽各
种绘图引擎的具体实现,对上层提供统一的底层绘图接口。输入抽象层IAL建立在各硬件设备驱动程序之上,屏蔽各种不同的
输入设备硬件实现,对上层提供统一的应用输入接口;图形引擎通过FrameBuffer 来获得,而输入设备的处理却没有统一的接
口。在PC上,通常使用键盘和鼠标,而在嵌入式系统上, 可能只有触摸屏或为数不多的几个键,在这种情况下,提供一个抽
象输入层就显得格外重要。图形设备接口(GDI,Ggraphic Device Interface) 建立在图形抽象层之上,主要包括点、线、
面、文本、的绘制等功能。图形用户接口及相关API则建立在图形设备接口之上,实现消息队列、窗口、控件以及应用程序管
理等各种功能。系统的层次结构如图1所示。
weixin_38741996
- 粉丝: 45
- 资源: 932
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 在图形应用程序中呈现 Windows 字体的小型单头 C++ 库.zip
- 在任何原生支持 DLSS2 和 DLSS3 的 DirectX 12 游戏中,在任何兼容 DirectX 12 的 GPU 上模拟 DLSS 升频器和 DLSS-G 帧生成功能 .zip
- 在dx11和dx12上添加imgui教程.zip
- 123456789778
- GLInterface.cpp
- 在 Windows 8 Metro DirectX 11 应用程序中使用 Bullet Physics Engine 的演示.zip
- C#多线程并发访问资源的冲突解决方案
- 在 nvidia 的覆盖层上用动画渲染的 imgui 窗口.zip
- 在 Microsoft DXR Fallback Layer 上运行的 DirectX Raytracing 轻量级原型框架 .zip
- 在 MFC,C++ 中使用 Direct3D 9 的 Rotozoomer 演示 .zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0