图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。GUI一般需要MCU有一定的硬件资源和处理能力,现在MCU资源越来越多,同时市场需求也增多了,GUI功能也越来越丰富了。下面来盘点嵌入式中常见的一些GUI。
emWin是由德国SEGGER公司开发,可为图形LCD设计提供高级支持,极大简化了LCD设计。为恩智浦、ST等ARM微控制器用户免费提供的emWin图形库。配合GUI Builder或App Wizard上位机软件,用起来也比较方便。是使用比较广泛的一款GUI。
TouchGFX属于Draupner Graphics公司的GUI产品,以炫酷的界面著称,在2018年7月,TouchGFX被ST收购,在STM32上可以免费使用TouchGFX。目前已经集成在STM32CubeMX中。
MiniGUI是一款国产GUI,一款面向嵌入式系统的高级窗口系统和图形用户界面(GUI)支持系统,由魏永明先生于1998年底开始开发。2002 年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。
4.QT for MCU
想必学习嵌入式开发的,都应该知道Qt,Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。2019年8月21日, Qt公司推出了Qt for MCUs,使客户能在经济高效的微控制器(MCU)上创建流畅的用户界面。
5.LVGL
LVGL全称Light and Versatile Graphics Library,是一个自由的,开源的GUI库,界面精美,资源消耗小,可移植度高,响应式布局等特点,全库采用纯 c 语言开发。想要移植的可以参考之前的文章《LittleVGL移植到STM32》。
6.AWTK
AWTK全称为Toolkit AnyWhere,是周立功倾心打造的一套基于C语言开发的GUI框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎。其特点是支持跨平台同步开发,一次编程,到处编译,跨平台使用。
7.GUIX
GUIX是微软的高级工业级GUI解决方案,专门针对深度嵌入式,实时和IoT应用程序而设计。微软还提供了名为GUIX Studio的桌面开发工具,该工具允许开发人员在桌面上设计其GUI并生成GUIX代码,然后可以将其导出到目标。