当前位置:首页 > 学习资源 > 讲师博文 > 国内外主流嵌入式GUI汇总

国内外主流嵌入式GUI汇总 时间:2024-05-11      来源:华清远见

    以前,因为微控制器和处理器的资源和处理能力有限,很少有基于这些处理器通用的GUI,很多都是使用文字菜单界面,这种界面让人感觉非常的朴实无华,内容言简意赅,如果使用图形库进行开发,产品一下子就让别人觉得有点高级感。现在,MCU资源增多,处理能力也强了,同时市场需求也增多了,GUI功能也越来越丰富了,很多的嵌入式图形库都可以做出绚丽的界面。下面的博文给大家介绍几款国内外主流的GUI:当涉及嵌入式GUI框架时,以下是更详细的例子来说明国内外主流的选择:

1. Qt:
    官方网站: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)上创建流畅的用户界面。Qt for MCUs的主要优势:复用您在微控制器上的现有技能通过跨设备(从高端到大众设备)的技术一致性,来降低维护成本在不影响图形性能的前提下,向微控制器演进以降低硬件成本将传统解决方案升级到现代的跨平台图形工具包

  特点:Qt是一款跨平台的GUI框架,具有丰富的功能和可定制性。它提供了一套完整的工具和组件,包括图形控件、事件处理、布局管理等,使开发者可以快速构建现代化的用户界面。应用领域:Qt广泛应用于汽车信息娱乐系统、工业控制、智能设备等各种嵌入式系统中,支持的平台包括Linux、Windows、Android、iOS等。

2. μC/Gui:
  官方网址:http://embeddedlightning.com/ugui/特点:轻量级设计:uGUI的设计目标是在资源有限的环境中运行,因此具有小巧的体积和较低的内存占用。这使其适用于单片机等资源受限的嵌入式系统。易于集成和使用:uGUI的API设计简单直观,易于学习和使用。开发者可以迅速集成uGUI到他们的项目中,并通过简单的API调用实现基本的GUI功能。可扩展性:虽然uGUI的核心设计简单,但它仍提供了一些可扩展的特性,如支持多种字体和颜色配置。这使得开发者可以通过简单的配置满足一些基本的定制需求。

 

应用场景:简单嵌入式系统:uGUI适用于资源有限的简单嵌入式系统,特别是那些对内存和处理器资源有严格要求的项目。快速原型设计:由于其易于集成和使用的特性,uGUI也可以用于快速原型设计,帮助开发者迅速搭建界面并验证概念。生态支持uGUI虽然规模相对小,但仍有一定的社区支持。用户可以在社区中获取一些基础的文档和示例代码,尽管相较于一些大型GUI库,支持和社区参与度相对较低。uGUI是一款适用于资源受限嵌入式系统的轻量级GUI库。其简洁的设计和易用的API使其在简单项目或需要快速原型设计的情况下表现出色。然而,对于一些复杂的GUI需求,可能需要考虑更为功能丰富的GUI库。

3. MiniGUI
  官方网址:https://minigui.fmsoft.cn/zhMiniGUI 是一款轻量级的开源图形用户界面(GUI)库,专为嵌入式系统设计。MiniGUI以其高度可定制和适应性强的特点而备受开发者推崇。资源够的情况下可移植到所有MCU。免费用于非商业用途,使用部分指定的SOC可免费使用。

  特点:轻量级设计:MiniGUI是一款轻量级的GUI库,专为嵌入式系统而设计。其小巧的体积使其适用于资源受限的环境,例如单片机和嵌入式Linux系统,最低高度可定制:MiniGUI提供了高度可定制的皮肤和界面元素,使开发者能够轻松地适应项目的外观和感觉需求。多平台支持:MiniGUI不仅支持嵌入式Linux系统,还可以运行在其他嵌入式平台上。eCos 和其他传统 RTOS (RT￾Thread、RTEMS、FreeRTOS、VxWorks、ThreadX、Nucleus、pSOS、uC/OS-II、OSE 等),特别是 MiniGUI 作为 HybridOS 的窗口系统运行,这使得MiniGUI成为一个具有广泛可移植性的选择。

  应用范围:TouchGFX广泛应用于智能家居、医疗设备、工业控制等领域的嵌入式系统中。嵌入式系统:MiniGUI主要面向嵌入式系统,特别是那些资源有限、需要轻量级GUI的项目。它适用于多种硬件平台,包括一些较为简单的单片机。定制UI需求:MiniGUI的高度可定制性使其非常适合需要特定外观和交互风格的项目。开发者可以根据项目需求自由调整皮肤和界面元素。生态支持:MiniGUI拥有一个积极的社区,提供了一些基础的文档和示例代码。虽然社区规模不如一些大型的GUI库,但对于MiniGUI的问题,仍然能够得到一定的支持。MiniGUI作为一款轻量级开源嵌入式GUI库,注重于适应资源受限的环境,特别适合嵌入式系统和一些简单的项目。其高度可定制的特性使其在定制UI方面表现出色。虽然文档相对较少,但其简单直接的设计有助于开发者迅速上手。对于那些需要轻量级GUI的项目,MiniGUI是一个值得考虑的选择。

4. emWin:
  官方网址:www.segger.com/products/user-interface/emwin特点:emWin是一款商业GUI框架,专为资源受限的嵌入式系统设计。它具有小内存占用和高效的绘图引擎,提供了丰富的控件库和字体支持,适用于各类嵌入式设备。应用场景:emWin广泛应用于汽车仪表盘、医疗监控、家电控制等嵌入式设备中,满足各种用户界面设计需求。开源:它是不开源的,只提供调用库SEGGER 公司授权给 ST、NXP,Energy Micro 等,凡是使用这些芯片厂商生产的处理器的都可以免费使用 emWin。ST芯片的emwin叫STemWin,STemWin 针对 ST 的芯片做了优化。


5. LittlevGL:
  官方网址:https://lvgl.io/LVGL免费开源的嵌入式图形库,可为任何 MCU、MPU 和显示器创建漂亮的UI界面,现在它可以使用UI 编辑器SquareLineStudio来简化开发。特点:LittlevGL是一款开源的嵌入式GUI库,提供简单易用的API和丰富的图形控件库。它支持自定义控件和动画效果,适用于轻量级的嵌入式系统开发。应用领域:LittlevGL可应用于智能穿戴设备、传感器监控、工业自动化等各类嵌入式系统中,提供灵活的用户界面设计方案。这些嵌入式GUI框架在不同领域和应用场景中发挥着重要作用,开发者可以根据项目需求、平台兼容性和开发经验进行选择和应用。代码可以直接到LVGL官方GitHub中提取,同时也提供了在线文档、Demo示例程序等,目前版本已经更新到了V8.3.4了。


  特性强大的构建块,例如按钮、图表、列表、滑块、图像等。具有动画、抗锯齿、不透明度、平滑滚动的高级图形各种输入设备,如触摸板、鼠标、键盘、编码器等。使用 UTF-8 编码的多语言支持多显示器支持,即同时使用多个TFT、单色显示器具有类 CSS 样式的完全可定制的图形元素独立于硬件:与任何微控制器或显示器一起使用支持操作系统、外部存储器和 GPU,但不是必需的单帧缓冲操作,即使具有高级图形效果用 C 编写以获得最大兼容性(C++ 兼容)硬件要求绝大多数MCU都能满足要求。16、32 或 64 位微控制器或处理器推荐 大于16 MHz 时钟速度闪存/ROM:> 64 kB 用于非常重要的组件(建议 > 180 kB)内存:静态 RAM 使用:~2 kB,具体取决于使用的功能和对象类型堆栈:> 2kB(建议> 8 kB)动态数据(堆):> 4 KB(如果使用多个对象,建议> 48kB)。由lv_conf.h中的LV_MEM_SIZE设置。显示缓冲区:> “水平分辨率”像素(推荐>10× “水平分辨率”)移植lvgl移植到嵌入式项目中也比较简单,首先下载好源码、调好LCD的显示驱动程序(画点函数那些),画图函数与lvgl显示接口衔接上即可,stm32中有提供DMA2D优化显示驱动,lvgl也支持触摸屏触摸,有相应的接口,另外还需要提供时钟给lvgl(提供心跳,使其保持响应)。

上一篇:什么是人工智能框架?有哪些人工智能框架?

下一篇:机器学习的基本概念、五大流派与九种常见算法

戳我查看嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部