本帖最后由 sunsili 于 2023-8-28 14:11 编辑
基于MCU通用GUI大盘点
GUI
Graphical User Interface,图形用户界面。
以前,因为MCU的资源和处理能力有限,很少有基于MCU通用的GUI。但现在,MCU资源增多,处理能力也强了,同时市场需求也增多了,GUI功能也越来越丰富了。
下面,我们来盘点一些常见的基于MCU的GUI,希望这些内容能对大家有所帮助。
emWin
emWin属于SEGGER公司下面的一种GUI产品,一种嵌入式GUI解决方案。业界领先的嵌入式图形库,专业的嵌入式GUI。
emWin支持在任何嵌入式系统上创建高效、高质量的图形用户界面,emWin支持资源受限的微控制器的系统,运行令人惊叹的交互界面。
emWin与单任务和多任务环境兼容,可以使用专有的操作系统,也可以与任何商业RTOS兼容。它以C语言源代码提供,使其成为嵌入式市场的专业、通用GUI,可用于多种不同的场景。
特点: - 创建惊人的图形与功能强大,易于使用的API
- 适用于任何显示器和微控制器
- 适用于任何ANSI C/C++开发环境
- 体验可靠的图形解决方案
- 嵌入式图形用户界面解决方案
拓展:emWin和STemWin、μCGUI的关系
相信大家对这几个GUI都不陌生,但你知道他们的来源和关系吗?
简单的说,STemWin和μCGUI都是由emWin发展而来。
STemWin由SEGGER公司授权给ST(意法半导体),使用ST芯片的用户可以免费使用STemWin。同时,还针对ST的微控制器做了专门的优化,比如在使用STM32F4带FPU的芯片时,STemWin在需要浮点处理的地方专门做了优化。
说起μCGUI,相信大家都知道μCOS,都属于Micrium公司。μCGUI是SEGGER公司授权给Micrium公司,并为其定制的一套图形软件库。
总而言之,uC/GUI和STemWin都是Segger公司的emWin产品。
LVGL
LVGL的全称为Light and Versatile Graphics Library,这是一个高度可裁剪、低资源占用、界面美观且易用的嵌入式系统图形库。
因为LVGL支持的平台众多,提供的例程和资料也很多,目前LVGL已经是全球单片机爱好者、开发者首选的GUI之一。
TouchGFX
TouchGFX属于Draupner Graphics公司的GUI产品,在2018年7月,TouchGFX被ST收购,在STM32上可以免费使用TouchGFX
目前,TouchGFX扩展至STM32生态系统,并集成在STM32CubeMX中。
MiniGUI
MiniGUI是一款国产GUI,一款面向嵌入式系统的高级窗口系统和图形用户界面(GUI)支持系统,由魏永明先生于1998年底开始开发。2002年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。
MiniGUI丰富的功能和可配置性使得它既适用于运行在30MHz CPU的低端设备,也适用于使用GPU的高端设备。为嵌入式和智能物联网设备提供一个成熟的、经过验证的跨平台GUI系统。
MiniGUI技术优势:
跟其它针对嵌入式产品的图形系统相比,MiniGUI在对系统的需求上具有如下几大优势:- 可伸缩性强
- 轻型、占用资源少
- 高性能、高可靠性
- 可配置性
Qt for MCUs
2019年8月21,Qt公司推出了Qt for MCUs,使客户能在经济高效的微控制器(MCU)上创建流畅的用户界面。
最近,正式发布了Qt for MCUs 2.2 LTS(长周期支持版),这是Qt for MCUs的首个长周期支持版。
Qt for MCUs主要优势:- 复用您在微控制器上的现有技能
- 通过跨设备(从高端到大众设备)的技术一致性,来降低维护成本
- 在不影响图形性能的前提下,向微控制器演进以降低硬件成本
- 将传统解决方案升级到现代的跨平台图形工具包
Qt商业和开源版差异:
Qt for MCUs视频:
AWTK
AWTK的全称为Toolkit AnyWhere,这是ZLG开发的开源GUI引擎,旨在为嵌入式系统、WEB、各种小程序、手机和PC打造的通用GUI引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎。
更 多
目前市面上的GUI有很多,但各有各的特点,应用场景不同,应用平台不同等等。其实国内外都有很多,比如大家熟知的RT-Threrad,就有一款柿饼GUI(Persimmon UI)。
大家选择GUI需要结合项目实际情况,综合考虑,选择合适的GUI。至于学习的话,选择常见的就行,比如上面列举的几个。
来源:strongerHuang |