嵌入式开发常用GUI,emWin、TouchGFX、MiniGUI、Qt
GUI:Graphical User Interface,图形用户界面。以前,因为MCU的资源和处理能力有限,很少有基于MCU通用的GUI。现在,MCU资源增多,处理能力也强了,同时市场需求也增多了,GUI功能也越来越丰富了。
下面我们来看看嵌入式开发常见的GUI有哪些?
一、emWin
官网地址:www.segger.com/products/user-interface/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 产品。
二、TouchGFX
ST站内地址:https://www.st.com/content/st_com/en/stm32-graphic-user-interface.html
TouchGFX属于Draupner Graphics公司的GUI产品,在去年(2018年7月),TouchGFX被ST收购,在STM32上可以免费使用TouchGFX。
TouchGFX升级至V4.10,扩展STM32生态系统,并集成在STM32CubeMX中。
三、MiniGUI
MiniGUI是一款国产GUI,一款面向嵌入式系统的高级窗口系统和图形用户界面(GUI)支持系统,由魏永明先生于1998年底开始开发。2002 年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。
MiniGUI丰富的功能和可配置性使得它既适用于运行在30MHz CPU的低端设备,也适用于使用GPU的高端设备。为嵌入式和智能物联网设备提供一个成熟的、经过验证的跨平台GUI系统。
MiniGUI技术优势:
和其它针对嵌入式产品的图形系统相比,MiniGUI 在对系统的需求上具有如下几大优势:
-
可伸缩性强
-
轻型、占用资源少
-
高性能、高可靠性
-
可配置性
就在前不久(2019年9月19日),北京飞漫软件技术有限公司宣布:将在 MiniGUI 4.0.2 版本中支持国产物联网操作系统 RT-Thread!
四、Qt
想必学习嵌入式开发的,都应该知道Qt,Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。
2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件。
2019年8月21日, Qt公司推出了Qt for MCUs,使客户能在经济高效的微控制器(MCU)上创建流畅的用户界面。
Qt for MCUs的主要优势:
-
复用您在微控制器上的现有技能
-
通过跨设备(从高端到大众设备)的技术一致性,来降低维护成本
-
在不影响图形性能的前提下,向微控制器演进以降低硬件成本
-
将传统解决方案升级到现代的跨平台图形工具包
Qt商业和开源版差异:
Qt for MCUs参考网址:
https://resources.qt.io/cn/the-qt-company-introduces-qt-for-mcus
五、其他
目前,市面上的GUI有很多,但各有各的特点,应用场景不同,应用平台不同等等。
包括国内周立功有一套AWTK,针对嵌入式Linux系统的GUI解决方案。
来源:https://blog.csdn.net/ybhuangfugui/article/details/101442421