教程不断更新中: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, SampleGUIConf.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的知识可以上其官网进行了解和学习。