第3版emWin教程第1章 当前主流的小型嵌入式GUI

Posted Simon223

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第3版emWin教程第1章 当前主流的小型嵌入式GUI相关的知识,希望对你有一定的参考价值。

教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

第1章   当前主流的小型嵌入式GUI

这几年Cortex-M系列单片机发展迅猛,功能也越来越强劲,随之而来的就是小型嵌入式GUI也得到很好的发展。本章节就为大家介绍下当前主流的小型嵌入式GUI。

目录

1.1    当前主流的嵌入式GUI

1.2    TouchGFX介绍

1.3    Embedded Wizard GUI介绍

1.4    emWin(uCGUI)介绍

1.5    Qt for MCU介绍

1.6    Crack Storyboard介绍

1.7    Altia GUI介绍

1.8    μGFX介绍

1.9    ThreadX GUIX介绍

1.10 总结


 

1.1    当前主流的嵌入式GUI

当前主流的小型嵌入式GUI主要有:emWin(uCGUI),TouchGFX,Embedded Wizard GUI,uGFX,MicroChip GUI ,Qt for MCU,Crack Storyboard,Altia GUI,ThreadX GUIX等。当然,还有其它的GUI,这里把前面说到的其中几款GUI给大家进行简单的介绍。

1.2    TouchGFX介绍

TouchGFX发布已经有5-6个年头了,以界面华丽,流畅以及强劲的TouchGFX Designer著称。官方地址:https://www.touchgfx.com/

2018年,正式被ST收购,当前主要用于STM32平台。下面贴几张TouchGFX实际的显示效果:

 

  

 

 

下面是TouchGFX Designer的软件效果,功能比较强劲,让界面的创建变得比较容易:

关于TouchGFX的介绍就给大家说这么多,更多相关知识可以到TouchGFX的官网去查看。从上面的几张图可以看出,TouchGFX设计的界面效果还是很漂亮的。

TouchGFX在STM32官方探索板或者评估板上面的演示效果:

  •   TouchGFX在STM32F429上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=8064

  •   TouchGFX在STM32F469上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=15152

  •   TouchGFX在STM32F769上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=17901

  •   TouchGFX在STM32H750上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=94379

1.3    Embedded Wizard GUI介绍

Embeded Wizard GUI也是发布了5-6年的嵌入式GUI,同样以华丽,流畅的界面和强劲的GUIBuilder著称。官方地址:http://www.embedded-wizard.de/

下面贴几张Embeded Wizard GUI实际的显示效果:

 

 

 

 

 

独创Chora界面编程语言,让大家的界面编程极其简单,GUIBuilder上面含有非常多的控件,皮肤和主题供用户选择,且支持调试,实际效果如下:

 

关于Embeded Wizard GUI的介绍就给大家说这么多,更多相关知识可以到Embeded Wizard GUI的官网去查看。从上面的几张图可以看出,Embeded Wizard GUI设计的界面效果还是很漂亮的。美中不足的是Embeded Wizard GUI也是要收费的,具体收费标准看这里:http://www.embedded-wizard.de/pricing.html

 

Embeded Wizard GUI在STM32官方探索板或者评估板上面的演示效果:

  •   Embeded Wizard GUI在STM32F746上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=10850   

  •   Embeded Wizard GUI在STM32F769上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19548   

1.4    emWin(uCGUI)介绍

emWin属于老牌的嵌入式GUI了,有着20年的历史了,软件架构和功能比较成熟了。关于emWin的介绍可以看我们的第1版emWin教程,第2版emWin教程和第3版emWin教程。官方地址:https://www.segger.com/products/user-interface/emwin/

 

  •   emWin教程第1版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=2932

  •   emWin教程第2版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834

  •   emWin教程第3版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

  •   emWin(uCGUI)更新记录

emWin(uCGUI)的历史比较悠久了,首版发布于1999年6月,下面是从V1.0开始的部分更新记录。

Version control for emWin/GSC

000804 V1.32    a) various changes implemented
000403 V1.30f   a) LCD.h V1.30 used
000327 V1.30e   a) LCD.h V1.06a used
000323 V1.30d   a) GUIArcFloat.c included
000323 V1.30c   a) LCD.h V1.06 used
000229 V1.30b   a) Improved Unicode support in GUIChar.c
000217 V1.30a   a) LCD_Color update to V1.16 (grayscale support in 8666 mode)
000211 V1.30    a) 2 new info functions for fonts implemented
                b) Unicode string support added
991210 V1.28d   a) GUIChar.C: GUI_DispStringHCenter added
                b) Compile Warnings eliminated
991210 V1.28c   a) GUI2DGL.C splitted
991204 V1.28b   a) GUI_Context.AWin init modified
991203 V1.28a   a) GUI2DGL init now initializes GUI_Context.AWin
991203 V1.28    a) LCDColor updated (support for 3bpp)
991129 V1.26d   a) GUIChar.C update (1.20c)
991129 V1.26c   a) GUI2DGL.C update (reg. LCD_Init)
991110 V1.26b   a) GUIChar.h update
991110 V1.26a   a) GUI.H: System defines (Keys etc) added
991109 V1.26    a) GUI2DCL.C eliminated
991018 V1.24    a) All value display routines rewritten in order to
                   support writing into a string (which is helpful
                   for other modules, like Progbar etc.)
                b) Type cast added in GUI_GetCharDistX in order to
                   make sure characters above 128 are properly handled
991018 V1.22b   a) LCDChar.c 1.20.02 used
991018 V1.22a   a) LCDColor V1.12a used
991018 V1.22    a) Support for 8666 mode (LCDColor V1.12 used)
991015 V1.21.10 a) LCDColor.c update V1.10f
991014 V1.21.09 a) GUI2DGL.C update 1.02.05
991014 V1.21.08 a) GUI.h: Define for GUI_LIGHTBLUE changed
991012 V1.21.07 a) LCDColor.c: Color translation in 8bpp mode with fixed table as default added
991011 V1.21.06 a) LCDCOLOR.C V1.10.04 used
991009 V1.21.05 a) new GUI2DGL.C used
990927 V1.21.04 a) LCDColor.C: LCD_Color2Color15: Blue and red in return value swapped
990926 V1.21.03 a) Clipping on entire region for cursor
990921 V1.21.02 a) Add. locking support for thread safety
990918 V1.21.00 a) New file GUITASK.C added for thread safety
990909 V1.20.05 GUI2DCL.c: clean up
990901 V1.20.04 Config sample changed
990831 V1.20.02 GUIChar V1.10.01 in order to avoid compiler warnings
990821 V1.20.01 GUI: Small changes to avoid compiler warnings            
990821 V1.20.00 Files reorganized, GUIX, GUIFONT, GUIFONTX directories
                created
990821 V1.14.01 WMID.H eliminated
990820 V1.14.00 LCDMEM4.C added
                LCDChar.C: GUI_DispStringCenterAt added
990810 V1.12.03 GUI.H cleanup, Sample\\GUIConf.h cleaned up
990809 V1.12.02 GUIColor changed in order to ensure proper function
                with 16-bit CPUs
990804 v1.12.01 Some compiler warnings generated by the IAR compiler
                eliminated, code cleaned up
990802 V1.12.00 Font files now in seperate directory
                LCDWIN.C --> LCDWIN.CPP, now exports a routine
                to display the BITMAP under Windows
990725 v1.10.00 Dynamic fonts are supported (Fontkonverter compatible)
990720 v1.04.01 New version LCD135X.C
990713 v1.04.00 LCD135X.C:  V1.10
                LCDColor.C: V1.10
990712 V1.03.05 LCD15XX.C: V1.31.01
990709 V1.03.04 LCD15XX.C: V1.30.03
990709 V1.03.03 LCD15XX.C: V1.30.01
990708 V1.03.02 LCD15XX.C: V1.21.02
990615 V1.03.01 GL_DrawArc now works with degrees
990615 V1.03 Drawarc implemented
990615 V1.02 New Version LCD15XX.C: 1.21
990614 V1.01 New version of LCD15XX.C with support for Segment
             COM lookup tables
990610 V1.00 ** Initial version for version control purpose

1.5    Qt for MCU介绍

Qt官方在2018年的Embedded World上做了F429和F769的展示,但非常卡。2019年8月份的时候带来ST的F7,瑞萨的RH850和NXP的i.MX RT1050视频展示,比之前流畅了很多。

到了2019 Qt峰会的时候,正式发布Qt for MCU V1.0。

  

  •  Qt for MCU视频展示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=95912

  •   Qt for MCU 收费

https://www.qt.io/buy-product/

1.6    Crack Storyboard介绍

Storyboard也有一款非常优秀的GUI设计器,能够大大的加速GUI的设计,而且足够绚丽,各种仪表,工控,医疗,物联网等都能很好的支持。官方地址:https://www.cranksoftware.com/

当前支持的厂家如下:

Storyboard软件界面效果:

 

  •   Storyboard Suite 5.0视频展示

视频效果还是比较炸的。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=53640

  •   Storyboard收费方式

https://www.cranksoftware.com/storyboard-pricing-licensing

1.7    Altia GUI介绍

Altia有将近30年的发展史,并且通过了AutomotiveSPICE汽车级HMI的一级认证,这个认证共分为6个级别,0到5级,其中第5级是最高等级。官方地址:https://www.altia.com/

 

Altia GUI的图形开发软件更是极其强劲。有如下三款软件组成:

(1)人机交互界面集成开发环境 — Altia Design。

 

(2)自动代码生成工具 — Altia DeepScreen

(3)在Adobe Photoshop中构建交互式用户界面资源 — Altia PhotoProto

支持的硬件平台:

  

 

效果展示:

  •   Altia GUI视频效果展示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=30737

  •   Altia GUI收费方式

Altia GUI也是收费软件, 具体收费方式要联系要联系他们获取。

1.8    μGFX介绍

μGFX也是这几年才发布的嵌入式GUI,界面效果不像TouchGFX那么华丽,不过功能也是简单实用。同样有一款不错的GUIBuilder。官方地址:http://www.ugfx.org/ 。支持的硬件平台,RTOS和显示屏驱动在这里有详细说明:http://www.ugfx.org/platforms.html ,就不单独整理出来了。

下面贴几张μGFX实际的显示效果:

  

 

 

下面是μGFX软件效果:

 

  

 

关于μGFX的介绍就给大家说这么多,更多相关知识可以到μGFX的官网去查看。从上面的几张图可以看出,虽然μGFX界面不够华丽,但还算实用。μGFX也是要收费的,具体收费标准看这里:http://www.ugfx.org/pricing.html

1.9    ThreadX GUIX介绍

GUIX是微软的高级工业级GUI解决方案,专门针对深度嵌入式,实时和IoT应用程序而设计。微软还提供了名为GUIX Studio的桌面开发工具,该工具允许开发人员在桌面上设计其GUI并生成GUIX代码,然后可以将其导出到目标。

GUIX通过了医疗认证IEC-62304 Class C,汽车认证IEC-61508 ASIL D,工业认证IEC-61508 SIL 4和运输/铁路认证EN50128。表明GUIX可用于安全关键型系统。

 

 

 

 

  •   ThreadX GUIX教程

http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

1.10 总结

本章主要为大家讲解了几款主流的嵌入式GUI,让大家对当前的小型嵌入式GUI有一个整体的了解,更多关于这几款GUI的知识可以上其官网进行了解和学习。

 

以上是关于第3版emWin教程第1章 当前主流的小型嵌入式GUI的主要内容,如果未能解决你的问题,请参考以下文章

第3版emWin教程第37章 emWin6.x抗锯齿

第3版emWin教程第40章 emWin6.x支持的颜色格式

第3版emWin教程第38章 emWin6.x多任务设计

第3版emWin教程第47章 emWin6.x控件基础知识

第3版emWin教程第39章 emWin6.x指针输入设备(摇杆)

第3版emWin教程第49章 emWin6.x的AppWizard创建控件回调消息