GUI:Graphical User Interface,图形用户界面。3 X6 Q: _! A' V1 {1 H) W1 g0 F 以前,因为MCU的资源和处理能力有限,很少有基于MCU通用的GUI。+ |* L* v. R" D& }; S+ q1 r 7 N& P- m& c# n: p7 l 现在,MCU资源增多,处理能力也强了,同时市场需求也增多了,GUI功能也越来越丰富了。6 J' Z; ]! O+ m 下面来盘点嵌入式常见的GUI,你了解几个?4 \3 o% `% H5 i! `5 v 一、emWin官网地址: www.segger.com/products/user-interface/emwin emWin支持在任何嵌入式系统上创建高效、高质量的图形用户界面,emWin支持资源受限的微控制器的系统,运行令人惊叹的交互界面。: i$ m! q0 d0 V, Z8 V2 ~5 d emWin与单任务和多任务环境兼容,可以使用专有的操作系统,也可以与任何商业RTOS兼容。它以C语言源代码提供,使其成为嵌入式市场的专业、通用GUI,可用于多种不同的场景。 特点:
拓展:emWin和STemWin、μCGUI的关系 相信大家对这几个GUI都不陌生,但你知道他们的来源和关系吗? 8 H% p Z$ c* k: ] 简单的说:STemWin和μCGUI都是由emWin发展而来。 STemWin由SEGGER公司授权给ST(意法半导体),使用ST芯片的用户可以免费使用STemWin。同时,还针对ST的微控制器做了专门的优化,比如在使用STM32F4带FPU的芯片时,STemWin在需要浮点处理的地方专门做了优化。 说起μCGUI,相信大家都知道μCOS,都属于Micrium公司。μCGUI是SEGGER公司授权给Micrium公司,并为其定制的一套图形软件库。 总而言之,uC/GUI 和 STemWin 都是 Segger 公司的 emWin 产品。 二、TouchGFX 官网地址: https://www.touchgfx.com ST站内地址: https://www.st.com/content/st_com/en/stm32-graphic-user-interface.html 7 W0 ^* Y; i. o7 n2 ]! G TouchGFX属于Draupner Graphics公司的GUI产品,在去年(2018年7月),TouchGFX被ST收购,在STM32上可以免费使用TouchGFX。 TouchGFX升级至V4.10,扩展STM32生态系统,并集成在STM32CubeMX中。 看一个在STM32F4上运行TouchGFX的视频:https://mp.weixin.qq.com/s/bYYO1W7uGZQXkpNWn0wwag三、MiniGUI 网址:2 a9 K* c( d( E% L4 K http://www.minigui.com MiniGUI是一款国产GUI,一款面向嵌入式系统的高级窗口系统和图形用户界面(GUI)支持系统,由魏永明先生于1998年底开始开发。2002 年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。; R M# t' M: s9 } G# y) S MiniGUI丰富的功能和可配置性使得它既适用于运行在30MHz CPU的低端设备,也适用于使用GPU的高端设备。为嵌入式和智能物联网设备提供一个成熟的、经过验证的跨平台GUI系统。7 y* E: U' O7 w MiniGUI技术优势和其它针对嵌入式产品的图形系统相比,MiniGUI 在对系统的需求上具有如下几大优势:
* C# v' i1 Q1 I- l* `, {6 H 3 v6 r% H H$ J( l& J/ Z2 P 就在前不久(2019年9月19日),北京飞漫软件技术有限公司宣布:将在 MiniGUI 4.0.2 版本中支持国产物联网操作系统 RT-Thread! , Y' K- Y. m5 A0 X 四、Qt 官网:% q' U5 R$ D5 a0 u0 t9 P https://www.qt.io 想必学习嵌入式开发的,都应该知道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)上创建流畅的用户界面。' y& D4 B% i4 Z P, E' O7 J8 E1 A Qt for MCUs的主要优势:
Qt商业和开源版差异:7 h V0 G' R1 D9 D Qt for MCUs视频: Qt for MCUs参考网址:https://resources.qt.io/cn/the-qt-company-introduces-qt-for-mcus , y) H# N; J8 j7 T$ J0 {: K0 I+ S( T' b五、其他 目前,市面上的GUI有很多,但各有各的特点,应用场景不同,应用平台不同等等。 包括国内周立功有一套AWTK,针对嵌入式Linux系统的GUI解决方案。 % |) f0 }7 H0 M4 G" x: w, l 我们项目选择GUI需要结合项目实际情况,综合考虑,选择合适的GUI。学习的话,选择常见的就行,比如上面列举的几个。 3 M5 e6 s" i$ K7 C0 } |
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】-4 LTDC&DMA2D 基本测试
STM32F3DISCOVERY + UCGUI3.90A的移植(源码+视频)
STM32MP135F-DK开发板评测-Linux系统下基于gtk的计算器应用
STM32MP135F-DK开发板评测-Linux系统下的GTK计算器
STM32MP135F-DK开发板评测-裸机LTDC亮屏
基于STM32GUI TouchGFX 屏幕切换功能经验分享
STM32 GUI开发技能分享
X-NUCLEO-GFX01M1 开发板的 GUI 开发流程介绍
STM32 TouchGFX经验分享(一)