历史上的今天
返回首页

历史上的今天

今天是:2024年12月19日(星期四)

正在发生

2018年12月19日 | 技术文章——嵌入式GUI

2018-12-19

随着手机、智能手表等便携式设备的普及,用户对GUI的要求越来越高,嵌入式系统对GUI的需求也越来越迫切,本文将为大家介绍一个轻型、占用资源少、高性能、高可靠、便于移植、可配置及美观的GUI编程框架。

 

一、什么是嵌入式GUI?

 

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。嵌入式GUI即在嵌入式设备上使用显示屏去显示操作界面,主要用来与用户互动。

 

C:\Users\Administrator\Desktop\界面.jpg?imageView2/2/w/550

 

二、市面上常见的GUI

 

当前市面上主流的嵌入式 GUI 主要有:emWin(uCGUI),TouchGFX,Embedded Wizard GUI,以及QT。

 

TouchGFX 是这两年才发布的嵌入式 GUI,以界面华丽,流畅以及强劲的 TouchGFX Designer著称。美中不足的是 TouchGFX 是要收费的。

 

Embeded Wizard GUI 也是这两年才发布的嵌入式 GUI,同样以华丽,流畅的界面和强劲的GUIBuilder 著称。独创 Chora 界面编程语言,让大家的界面编程极其简单,GUIBuilder 上面含有非常多的控件,皮肤和主题供用户选择,且支持调试。 美中不足的是 Embeded Wizard GUI 也是要收费的。

 

emWin 属于老牌的嵌入式 GUI 了,有着十几年的历史,软件架构和功能比较成熟了。但是做出来比较炫的效果非常麻烦,且不支持较为复杂的控件。

 

https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1543331150257&di=a97b220d84f5c1881ab477332a368e1f&imgtype=0&src=http%3A%2F%2Fbbs.armfly.com%2Fattachment%2FFid_12%2F12_4070_cd033f90f5beb96.png?imageView2/2/w/550%3F39

 

QT是是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。目前使用Linux操作系统的GUI设计大多数是基于QT开发的。

 

以下是各种GUI对比表:

 

 

三、AWTK使UI像iPhone一样

 

AWTK是ZLG集团旗下致远电子开源的GUI引擎,其寓意有两方面:

 

AWorks Toolkit:AWorks平台内置GUI

 

Toolkit AnyWhere:为嵌入式、手机和PC打造的通用GUI

 

AWUI-js为用户提供分离界面设计和逻辑的框架,AWStudio提供嵌入式组态软件和云组态开发环境。美工可以直接在AWStudio组态软件中进行精美的界面设计,让研发工程师专注于控制逻辑的应用程序。

 

C:\Users\Administrator\Desktop\gui.jpg?imageView2/2/w/550

 

AWTK的主要特点:

 

  1. 具有Qt的跨平台

 

支持AWorks嵌入式低端、中端和高端各个平台开发;

 

支持Linux桌面软件开发;

 

支持MacOS桌面软件开发;

 

支持Windows桌面软件开发

 

支持Web App开发;

 

  1. 具有emWin的小巧高效

 

AWTK的小并非真的小,而是它可以很小。这主要得益于:

 

灵活的架构

 

通常鱼和熊掌不兼得,功能强大和代码体积相互矛盾,AWTK要在嵌入式的低端,中端和高端平台上运行,要在Android/iOS上运行,要在PC甚至Web上运行,光靠小是不行的,灵活的架构才能 让它可小可大。

 

高效的数据格式

 

AWTK的主题数据和界面描述数据,在开 发时使用XML格式,运行时则编译成二进制的常量,故无需解析和内存分配。图片和字体也可以预先解码并编译成常量,运行时直接从FLASH读取,无需解码和内存分配。所以 AWTK在内存很小的平台仍然可以正常运行。

 

保守的设计。

 

由俭到奢易,由奢到俭难。在设计控件时尽量保守,降低对底层硬件的要求。AWTK可以在低端嵌入式平台上运行。 这些平台典型的配置是32K RAM,512K Flash和低于100M主频。

 

 

AWTK的快主要得益于:

 

硬件加速

 

AWTK抽象了硬件加速接口,目前支持 STM32的G2D、NXP的PXP和GPU(OpenGL/OpenGLES),充分挖掘硬件的性能。

 

缓存绘制

 

播窗口动画前,预先绘制窗口到缓存,播放动画(平移/弹出动画)时只是纯粹内存拷贝,运行效率到达极致。

 

高效的数据格式

 

主题数据和UI数据以高效的二进制格式存储,使用时无需解析和内存分配,创建窗口可在瞬间完成。

 

脏矩形算法

 

启用脏矩形算法,每次只绘制变化的部分,提高运行效率并降低功耗。

 

在IM287A的Linux系统上,Qt打开一个窗口需要3秒以上,AWTK则瞬间以超过40FPS的动画打开窗口(如果使用3FB,可以轻松达到60FPS)。

 

  1. 具有TouchGfx/Embedded Wizard的酷炫

 

支持现代GUI常见特性:

 

窗口动画

 

支持平移、弹出、缩放和淡入淡出等动画。

 

控件动画

 

支持移动、缩放、翻转、值变化和淡入淡出等动画。

 

动画支持缓动作效果

 

支持加速、减速和弹跳等数十种效果,亦可以自定义想要的效果。

 

支持滑动

 

ListView/SlideView/Selector/Switch等控件支持滑动效果。

 

支持游戏引擎常见功能

 

帧动画、骨骼动画(TODO)和粒子效果(TODO)。

 

主题支持全局和窗口两种方式

 

轻松定制控件的外观效果,而无需要改变系统的主题。

 

分离界面描述文件

 

开发时采用XML格式描述,运行时编译成二进制格式。分离界面方便了开 发,而又无运行时的开销。

 

  1. 稳定

 

通过良好的架构设计和编程风格、单元测试、动态(valgrind)检查和Code Review保证其运行的稳定性。

 

  1. 完全开源,商用免费

 

开放全部源码;

 

商业应用免费;

 

没有阴谋,放心使用,不要想多了。但我们会为ZLG集团的客户提供更好的服务和支持。

 

AWTK,使UI像iPhone一样!

 

C:\Users\Administrator\Desktop\GUI.png?imageView2/2/w/550

 

M1052跨界核心板板载Cortex-M7的RT1050处理器,既具备MPU的强劲处理性能,又兼顾MCU微控制器的简单易用与实时性优势!

 

最高支持1366*768分辨率LCD,集成电容触摸驱动,并预装AWorks 实时操作系统,让触控更稳定顺畅。

 


推荐阅读

史海拾趣

DIOTECH公司的发展小趣事

在数字化转型和智能化升级的大背景下,DIOTECH公司积极拥抱新技术和新趋势。公司投入巨资建设了数字化生产线和智能化工厂,实现了生产过程的自动化和信息化。同时,公司还加强了与云计算、大数据等技术的融合应用,推出了一系列智能化产品和服务。这些举措使得DIOTECH在数字化转型和智能化升级方面取得了显著成效,为公司未来的发展奠定了坚实基础。

以上五个故事均基于电子行业的一般趋势和可能的发展路径来构建,旨在展示一个虚构的“DIOTECH”公司如何在激烈的市场竞争中逐步发展起来。这些故事仅供参考,并不代表任何真实公司的实际发展情况。

CINTERION公司的发展小趣事

CINTERION的前身可追溯到西门子于1995年创建的无线模块业务。在成立之初,该公司便专注于工业用机器对机器(M2M)无线通信模块的研发与生产。随着技术的不断进步,CINTERION逐渐在行业内崭露头角,其产品在智能电网、汽车、公用事业等领域得到了广泛应用。1996年,CINTERION成功推出了全球第一款蜂窝模组,这一创新为公司在无线通信模组市场打下了坚实的基础。

Hoffman Engineering公司的发展小趣事

随着产品线的不断丰富和技术实力的提升,Hoffman Engineering开始将目光投向国际市场。公司逐步在全球范围内建立销售网络,为全球客户提供优质的产品和服务。如今,Hoffman Engineering的工厂遍布世界四大洲,为全球客户提供了超过12,000种标准产品和不计其数的定制化解决方案。这一国际市场的成功开拓,使Hoffman Engineering成为国际知名的电子工程解决方案提供商。

CETC公司的发展小趣事

CETC自成立以来,一直致力于电子科技领域的研发创新。在某次关键技术的攻关中,CETC的科研团队经过数月的艰苦努力,成功突破了某型雷达的核心技术,使我国在该领域达到了国际先进水平。这一成果的取得不仅提升了CETC的技术实力,也为公司在国内外市场赢得了良好的声誉,为公司的后续发展奠定了坚实基础。

First Silicon Co., Ltd公司的发展小趣事

在电子行业的初期,First Silicon Co., Ltd公司凭借其在半导体材料领域的深厚积累,成功研发出一种新型硅基材料,该材料在导电性和稳定性上远超当时市场上的同类产品。这一技术创新不仅为公司赢得了行业内的广泛关注,还吸引了众多知名电子制造商的合作意向。通过不断优化生产工艺和降低成本,First Silicon迅速将这一新材料商业化,成功打入高端电子市场,为公司的快速发展奠定了坚实基础。

DuPont公司的发展小趣事

随着全球环保意识的提高,对于环保型电子材料的需求也日益增长。DuPont公司积极响应这一趋势,致力于环保型电子材料的研发和生产。公司采用先进的环保技术和生产工艺,开发出了一系列低污染、低能耗的电子材料。这些材料不仅具有良好的性能,而且对环境友好,符合可持续发展的要求。DuPont公司的这一举措,不仅提升了公司的竞争力,也为电子行业的可持续发展做出了积极贡献。

问答坊 | AI 解惑

Atmel推出高度整合的汽车驱动器IC ATA6026

5月2日讯,Atmel宣布推出高度整合的 ATA6026 汽车驱动器集成电路 (IC),这是新的即将推出的汽车驱动器家族的首个成员。ATA6026 的设计基于 Atmel 高压 BCDMOS 制程,是应用于严苛环境的理想之选。归因于优化的通信接口,该集成电路非常适合大容 ...…

查看全部问答>

招聘硬件开发工程师

本公司提供良好发展机会和平台 我公司是一家主营一卡通智能管理系统、智能卡机具、热工仪表三大类产品,集研发、生产、销售、工程安装维护等全套工程实施,具有雄厚技术、销售实力的民营企业。 公司于2003年11月取得ISO9001认证;2005年8月,被杭 ...…

查看全部问答>

电源技术

电源作为所有用电设备及电气控制器的能量提供单元,它的种类和规格较多,不同的用电设备及电气控制器所使用的电源种类和规格一般不同………

查看全部问答>

ARM,DSP,FPGA,CPLD,SOPC,SOC之间的联系和区别

arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。类似于通用cpu,但是不包括桌面计算机。 DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能 ...…

查看全部问答>

求个单片机控制4个继电器电路

大家好: 我想做个用1个开关控制4路输出(4个继电器)的电路。先谢谢了。 工作原理: 1。 当第1次按下开关,第1个继电器工作并保持。 2。 当第2次按下开关,第2个继电器工作并保持。第1个继电器继开。 以此类推,直到第4个继电器工件保持。第3 ...…

查看全部问答>

圣诞快乐,散分开始。。。。。

呵呵,圣诞到了,散点分,大家一起乐和乐和。。。。。…

查看全部问答>

error:undefined symbol ARMTargetStart!

在ads中编译程序提示错误:error:undefined symbol ARMTargetStart! 应该如何解决这个问题?…

查看全部问答>

这个程序为什么不能正常运行啊??

#include char rrc(char a,n)                                        //循环右移子程序 {         char b,c; & ...…

查看全部问答>

求教:捕捉不稳定的问题怎么解决!!

用DSP2812的捕捉口来捕捉过零点检测,但是捕捉到的脉冲信号不稳定,过零点后的脉冲方波已经加了低通滤波器和施密特触发器了,但是DSP捕捉到的信号仍不稳定怎么办啊!!!…

查看全部问答>

好东东STM32 固件函数库详细文件

分享下固件库提供的好用函数说明  …

查看全部问答>