专栏首页TencentOS-tiny盘点嵌入式那些常见的GUI:emWin、TouchGFX、MiniGUI、Qt等

盘点嵌入式那些常见的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

官网地址:

https://www.touchgfx.com

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中。

看一个在STM32F4上运行TouchGFX的视频:

三、MiniGUI

网址:

http://www.minigui.com

MiniGUI是一款国产GUI,一款面向嵌入式系统的高级窗口系统和图形用户界面(GUI)支持系统,由魏永明先生于1998年底开始开发。2002 年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。

MiniGUI丰富的功能和可配置性使得它既适用于运行在30MHz CPU的低端设备,也适用于使用GPU的高端设备。为嵌入式和智能物联网设备提供一个成熟的、经过验证的跨平台GUI系统。

MiniGUI技术优势

和其它针对嵌入式产品的图形系统相比,MiniGUI 在对系统的需求上具有如下几大优势:

  • 可伸缩性强
  • 轻型、占用资源少
  • 高性能、高可靠性
  • 可配置性

就在前不久(2019年9月19日),北京飞漫软件技术有限公司宣布:将在 MiniGUI 4.0.2 版本中支持国产物联网操作系统 RT-Thread

四、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商业和开源版差异:

Qt for MCUs视频:

Qt for MCUs参考网址:

https://resources.qt.io/cn/the-qt-company-introduces-qt-for-mcus

五、其他

目前,市面上的GUI有很多,但各有各的特点,应用场景不同,应用平台不同等等。

包括国内周立功有一套AWTK,针对嵌入式Linux系统的GUI解决方案。

我们项目选择GUI需要结合项目实际情况,综合考虑,选择合适的GUI。学习的话,选择常见的就行,比如上面列举的几个。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

本文分享自微信公众号 - Mculover666(Mculover666)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ESP8266固件升级至1.4.0版本方法(ESP8266-12F模组)

    使用AT命令查询当前版本信息,可以看到AT固件是2016年的,处于1.3.0版本,所以要对ESP8266模组进行固件升级:

    Mculover666
  • MSP430F5529时钟系统深究

    时钟系统是一个数字器件的命脉,对于普通的51单片机来说,它的时钟来源只有外部晶振,然后每12个振荡周期完成一个基本操作,所以也叫做12T单片机,但对于...

    Mculover666
  • EMQ X | 百万级的开源MQTT消息服务器(搭建一个私有MQTT服务器)

    EMQ X 全称 Erlang/Enterprise/Elastic MQTT Broker,它是基于 Erlang/OTP 语言平台开发,支持大规模连接和分布...

    Mculover666
  • ARTS第四周

    例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。27 写做 XXVII, 即为 XX + V + II 。

    zx钟
  • python|typing模块的介绍

    首先由于python的特性,很多情况下我们并不用去声明它的类型,我们实际上并不知道传入的一个参数或输出值的类型。如下

    算法与编程之美
  • 电商大量部署仓储机器人,工作岗位真的会大量流失吗?

    在亚马逊位于英格兰曼切斯特的大仓库,工业舞曲日以继夜响个不停。 笔直的货架在轻快地移动,仿佛在跳华尔兹舞。它们在其它货架的前进方向进进出出,围绕着静态的储物架...

    机器人网
  • 快速学习-Jenkins CLI凭据

    通过 jcli 可以在 Jenkins 上创建凭据(Credentials),下面介绍使用方法。

    cwl_java
  • Canvas 进阶(四)实现一个“刮刮乐”游戏

    我们创建一个 ScrapAward 类,通过传入 option 和调用其 restart() 方法实现重新开始。

    小皮咖
  • 不仅仅可以用来做爬虫,Puppeteer 还可以干这个!

    自动化测试对于软件开发来说是一个很重要也很方便的东西,但是自动化测试工具除了能用来做测试以外,还能被用来做一些模拟人类操作的事情,所以一些 E2E 自动化测试工...

    崔庆才
  • 腾讯大数据套件带你玩转大数据

    前言 ‍ 人类每一次大的技术变革都是先在新兴产业生根发芽,再慢慢把触角伸到传统行业。在当前这股由IT(Information Technology)向DT(Da...

    腾讯大数据

扫码关注云+社区

领取腾讯云代金券